Ping uma lista de endereços IP e saída de duplicatas

0

No Linux, como posso fazer o ping de uma lista de endereços IP (em um arquivo de texto) e apenas os que têm respostas de ping duplicadas?

    
por Eric 07.07.2013 / 19:47

1 resposta

4

Se você está falando sobre duplicatas descritas na página man:

Duplicate packets should never occur, and seem to be caused by 
inappropriate link-level retransmissions. Duplicates may occur 
in many situations and are rarely (if ever) a good sign, although 
the presence of low levels of duplicates may not always be cause 
for alarm.

Produzirá a saída assim:

$ ping -n 192.x.y.z
PING x.com (192.x.y.z) 56(84) bytes of data.
64 bytes from 192.x.y.z: icmp_req=1 ttl=120 time=51.8 ms
64 bytes from 192.x.y.z: icmp_req=1 ttl=120 time=51.8 ms (DUP!)
64 bytes from 192.x.y.z: icmp_req=1 ttl=120 time=52.3 ms (DUP!)

Você só precisa fazer uma iteração na lista em ciclo:

while read ip ; do ping -c4 $ip | grep -q 'DUP!' && echo "$ip duplicates" ; done < ip_list.txt

Onde ip_list.txt contém nova lista de endereços IP separados por linha.

    
por 07.07.2013 / 20:39