Extraia ip, máscara e gateway de uma interface de rede separadamente

1

Eu sei que o comando ifconfig lhe dará ip, máscara e gateway de uma determinada interface de rede. Eu quero "programaticamente" extrair cada um desses paramaters separadamente. No momento, a melhor solução que consigo pensar é fazer algumas análises usando grep .

Existem ifconfig sinalizadores para selecionar ip, máscara ou gateway? Existem outros comandos * nix que extrairão apenas um parâmetro de uma determinada interface de rede?

    
por Randomblue 11.02.2013 / 11:34

1 resposta

1

As teses não são muito elaboradas, mas parecem funcionar pelo menos:

para bond0:

Obtenha o IP

ifconfig | awk '/bond0/ { getline; print}' | awk '{print $2}' | awk 'BEGIN {FS=":"} ; {print $2}'

Obtenha o endereço de transmissão:

ifconfig | awk '/bond0/ { getline; print}' | awk '{print $3}' | awk 'BEGIN {FS=":"} ; {print $2}'

Pegue a netmask:

ifconfig | awk '/bond0/ { getline; print}' | awk '{print $4}' | awk 'BEGIN {FS=":"} ; {print $2}'

e para o gateway:

route | awk '/default/ { print $2}'

certeza de que alguém chegará lá com algo mais simples ou direto.

Espero que isso ajude.

    
por 11.02.2013 / 11:55