meta data for this page
  •  

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változatKövetkező változat mindkét oldalon
linux:network [2019/10/30 12:28] – [Egyéb okosságok] adminlinux:network [2019/10/30 17:01] – [Egyéb okosságok] admin
Sor 67: Sor 67:
 #!/bin/bash #!/bin/bash
 SEARCH=${1-.} SEARCH=${1-.}
 +VLAN_SNIFF_TIME=5
 #ETH #ETH
-echo "Port#Address#Speed#State#Slaves" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-15s\n",$1,$2,$3,$4,$5}'+echo "Port#Address#Speed#State#VLANs#Slaves" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-13s | %-15s\n",$1,$2,$3,$4,$5,$6}'
 echo "# Ethernet:" echo "# Ethernet:"
 for ETH in $(ip addr | awk -F': ' '/</{print $2}' | egrep -v '(@|lo|^$)' | grep "$SEARCH" | sort -k1); do for ETH in $(ip addr | awk -F': ' '/</{print $2}' | egrep -v '(@|lo|^$)' | grep "$SEARCH" | sort -k1); do
Sor 74: Sor 75:
         SPEED=$(ethtool $ETH 2>/dev/null | awk -F': ' '/Speed/{print $2}' | sed 's/^[0-9]*/& /')         SPEED=$(ethtool $ETH 2>/dev/null | awk -F': ' '/Speed/{print $2}' | sed 's/^[0-9]*/& /')
         MAC=$(ip addr | grep -A1 "[^@]$ETH:"  | grep -o '\([0-9abcdef]\{2\}:\)\{5\}[0-9abcdef]\{2\}' | awk '{print $1}' | grep -v 'ff:ff:ff:ff:ff:ff')         MAC=$(ip addr | grep -A1 "[^@]$ETH:"  | grep -o '\([0-9abcdef]\{2\}:\)\{5\}[0-9abcdef]\{2\}' | awk '{print $1}' | grep -v 'ff:ff:ff:ff:ff:ff')
 +        VLANS=$(timeout $VLAN_SNIFF_TIME tcpdump -c 1000 -nni $ETH -e vlan 2>/dev/null | grep -o 'vlan [0-9]*' | sort | uniq | awk '/vlan/{print $2}' | tr '\n' ' ')
         SLAVES=""         SLAVES=""
         if [[ $(grep -c "Slave.*$ETH" /proc/net/bonding/*) -gt 0 ]]; then         if [[ $(grep -c "Slave.*$ETH" /proc/net/bonding/*) -gt 0 ]]; then
Sor 81: Sor 83:
                 SLAVES=$(awk '/^Slave Interface/{print $3}' /proc/net/bonding/$ETH | tr '\n' ' ')                 SLAVES=$(awk '/^Slave Interface/{print $3}' /proc/net/bonding/$ETH | tr '\n' ' ')
         fi         fi
-        echo "$ETH#$MAC#$SPEED#$STATE#$SLAVES" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-15s\n",$1,$2,$3,$4,$5}'+        echo "$ETH#$MAC#$SPEED#$STATE#$VLANS#$SLAVES" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-13s | %-15s\n",$1,$2,$3,$4,$5,$6}'
 done done
 #FC #FC