ifconfig -a obtém dados necessários grepping

0

Se eu emitir o seguinte comando para obter dados da interface de rede:

[root@pi lib]# ifconfig -a

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.154  netmask 255.255.255.0  broadcast 192.168.0.255
        ether b8:27:eb:3c:03:fe  txqueuelen 1000  (Ethernet)
        RX packets 44219  bytes 17569207 (16.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9964  bytes 7176485 (6.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 229  bytes 21989 (21.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 229  bytes 21989 (21.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 00:11:6b:f0:bb:31  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@pi lib]#

Como faço para obter o nome da interface de rede, é ip, máscara de sub-rede, gateway e endereço MAC do terminal?

    
por KernelPanic 12.12.2014 / 05:56

2 respostas

1

É melhor usar ip a , mas com sua saída atual, você pode usar awk :

awk '
  BEGIN { RS="\n\n"} 
  /eth0/ && /UP/ {ifc=$1; ip=$6; subn=$8; gway=$10; mac=$12} 
  END {print "Interface: "ifc "\nIP: "ip "\nSubnet: "subn "\nGateway: "gway "\nMac: "mac}
' <(ifconfig -a)

Interface: eth0:
IP: 192.168.0.154
Subnet: 255.255.255.0
Gateway: 192.168.0.255
Mac: b8:27:eb:3c:03:fe

Isso só imprimirá os detalhes de uma interface se ela estiver ativa.

    
por 12.12.2014 / 06:30
1

Isso ajudará você

ip r l & & ip addr show {nome da interface} | grep ether

ip r l & & ip addr show eth0 | grep ether

Exemplo de saída

ip r l && ip addr show wlan0 | grep ether default via 192.168.1.254 dev wlan0 proto static 192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.42 link/ether e4:d5:3d:ef:90:a9 brd ff:ff:ff:ff:ff:ff

ip r l isto lhe dará gateway, ip, interface, netmask

ip addr show {interface name} Isso lhe dará o restante do endereço mac de detalhes

    
por 12.12.2014 / 06:44