내 Ping 명령이 끝나지 않는 것 같습니다. 그것이 성공을 의미합니까?


10

원격 IP를 핑하고 있습니다. Ping 명령에 대해서는 거의 알지 못합니다. IP를 핑 (ping)하면 계속 진행 됩니다. -t 옵션을 사용하지 않습니다 .

Me$ ping 137.30.124.104
PING 137.30.124.104 (137.30.124.104): 56 data bytes
64 bytes from 137.30.124.104: icmp_seq=0 ttl=62 time=3.378 ms
64 bytes from 137.30.124.104: icmp_seq=1 ttl=62 time=3.825 ms
64 bytes from 137.30.124.104: icmp_seq=2 ttl=62 time=4.882 ms
64 bytes from 137.30.124.104: icmp_seq=3 ttl=62 time=1.822 ms
64 bytes from 137.30.124.104: icmp_seq=4 ttl=62 time=4.572 ms
....
64 bytes from 137.30.124.104: icmp_seq=290 ttl=62 time=3.273 ms

IP를 성공적으로 핑하고 있다는 의미입니까? 아니면 시도하고 실패하고 다시 시도하고 있습니까? 중지하려면 어떻게해야합니까?


4
예, 성공적으로 핑입니다. Ctrl-C로 중지 할 수 있습니다.
Faheem Mitha

7
유닉스 계열 은 기본적으로 ping중단되지 않습니다 windows.
Gilles Quenot

@ sputnick 그래 그게 나를 혼란스럽게했다
bernie2436

내 대답에서 어떻게 제어 할 수 있는지보십시오!
slm

답변:


17

이것이 ping 명령의 작동 방식입니다. 카운트 스위치를 사용하여 제어 할 수 있습니다 -c.

$ ping -c 2 skinner
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=1 ttl=64 time=1.00 ms
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

--- skinner.bubba.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.001/1.069/1.138/0.075 ms

출력 분석

이 줄은 다른 호스트를 성공적으로 핑하고 있음을 의미합니다.

64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

이 줄은 호스트와 핑하려는 호스트 사이에서 발생하는 각 "핑"에 대한 구분을 나타냅니다.

여섯 번째 열

이 값을 포함하는 열은 이것이 icmp_req=2관련된 ICMP 패킷을 알려줍니다. 이 ping명령은 네트워크 패킷을 제조합니다. TCP 또는 UDP 패킷에 대해 들어 보셨을 것입니다. 다른 유형은 ICMP입니다. ICMP는 휴대폰 네트워크의 SMS와 유사합니다. 주요 목적은 네트워크를 통한 명령 및 제어입니다.

일곱 번째 열

흥미로운 세 번째 열은 TTL=64입니다. TTL- "일명"Time to Live "는 패킷이 타임 아웃되기 전에 최대 64 개의 노드 만 통과한다는 것을 의미합니다. 따라서 시스템이 시스템에서 64 "홉"이상 떨어져 있으면 TTL을 늘리지 않으면 핑할 수 없습니다.

8 열

이 열은 핑이 소요 된 시간을 밀리 초 단위로 보여줍니다. 이것은 다음과 같은 열입니다 time=1.13 ms.

다른 열은 설명이 필요 없습니다.

핑 버전

ping다양한 유닉스에 따라 다른 명령이 다르게 구현됩니다. 따라서 버전에주의를 기울여야합니다.

$ ping -V
ping utility, iputils-sss20100418

저는 Fedora 14, Linux 시스템을 사용하고 있습니다.


1

slm의 대답은 훌륭하지만 호스트가 살아 있는지 (및 연결 가능한지, ping에 응답하는지) 신속하게 확인하려면 fping대신 대신 사용할 수 있습니다 ping. 호스트를 핑 (ping)하고 응답을 잠시 기다립니다. fping의 종료 코드는 성공 또는 실패를보고합니다.

예 :

cas @ ganesh : ~ $ 핑 칼리
칼리는 살아있다
cas @ ganesh : ~ $ 에코 $?
0

cas @ ganesh : ~ $ fping 두르가 
ICMP Echo가 durga (203.xx.xxx.14)로 전송 된 경우 203.xx.xxx.1에서 ICMP 호스트에 연결할 수 없음
ICMP Echo가 durga (203.xx.xxx.14)로 전송 된 경우 203.xx.xxx.1에서 ICMP 호스트에 연결할 수 없음
ICMP Echo가 durga (203.xx.xxx.14)로 전송 된 경우 203.xx.xxx.1에서 ICMP 호스트에 연결할 수 없음
ICMP Echo가 durga (203.xx.xxx.14)로 전송 된 경우 203.xx.xxx.1에서 ICMP 호스트에 연결할 수 없음
Durga에 도달 할 수 없습니다
cas @ ganesh : ~ $ 에코 $?
1

stderr을 / dev / null로 경로 재지 정하여 'ICMP Host Unreachable'메시지를 버릴 수 있습니다. 예를 들면 다음과 같습니다.

cas@ganesh:~$ fping durga 2>/dev/null 
durga is unreachable
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.