Capturar faixa de rede por script

1. Capturar faixa de rede por script

Marco
loko2010

(usa Outra)

Enviado em 10/02/2014 - 22:59h

Seguinte galera,

Montei um script que pede a faixa de rede do cidadão (EX: 192.168.0.0) e esta funcionando muito bem. Mas pensei porque não capturar automaticamente isso?

Fuçando no fórum achei algumas coisas mas não bem o que quero... Vamos lá para o que consegui:

echo Mostrando seu endereço na interface eth0...
ifconfig eth0 | grep "inet end" | sed -e 's/inet end.: //g'
echo
echo Qual a faixa de rede? Apenas os 3 primeiros campos.
echo EX: 192.168.0
read ipp
ip="$ipp.0/24"

Beleza, pelo menos mostra o endereço IP do cara para ele não errar... mas sempre tem um que erra...

Não sei muito bem como usar o sed para selecionar apenas o IP, alguém pode me ajudar? Gostaria de não necessitar fazer essa pergunta, o script pegaria automaticamente o IP, e adicionaria o .0/24... Claro que para ser melhor teria que resolver a classe da rede e ver se tem mais de uma interface, mas dessa forma já me ajuda muito....

Valeu...


  


2. Re: Capturar faixa de rede por script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 11/02/2014 - 13:20h

Baseie seu script na saída do comando "netstat -nr". Veja que ele já diz faixa de rede *E* netmask. Preste atenção nos flags e despreze a linhas com flag 'G'. Despreze também endereços do tipo link-local (169.254/16).


3. Re: Capturar faixa de rede por script

Marco
loko2010

(usa Outra)

Enviado em 11/02/2014 - 23:24h

Acho que é por ai mesmo. Vou fazer uns testes aqui.... Obrigado.


4. Re: Capturar faixa de rede por script

Carlos Alberto Mazzer
cmazzer

(usa Ubuntu)

Enviado em 13/02/2014 - 14:19h

root@mazzer:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:e0:4c:68:01:47
inet addr:10.200.17.33 Bcast:10.200.17.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:4cff:fe68:147/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6718648 errors:0 dropped:25440 overruns:0 frame:0
TX packets:1386349 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:969020719 (969.0 MB) TX bytes:135564085 (135.5 MB)

root@mazzer:~# ifconfig eth0 | grep "inet addr" | awk {'print $2'} | awk -F: {'print $2'}
10.200.17.33







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts