IP 주소 목록을 핑하고 중복 항목을 출력합니다.

IP 주소 목록을 핑하고 중복 항목을 출력합니다.

Linux에서 IP 주소 목록(텍스트 파일)을 ping하고 중복된 ping 응답이 있는 주소만 출력하려면 어떻게 해야 합니까?

답변1

매뉴얼 페이지에 설명된 중복에 대해 이야기하는 경우:

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.

다음과 같은 출력이 생성됩니다.

$ 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!)

따라서 목록을 반복하면 됩니다.

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

여기서 ip_list.txt에는 줄 바꿈으로 구분된 IP 주소 목록이 포함되어 있습니다.

관련 정보