더북(TheBook)

연결 상태 진단 도구 ping

ping은 네트워크 연결 상태를 점검하는 명령입니다. 목적지에 ICMPInternet Control Message Protocol 패킷을 보내고 되돌아오는지 확인하여 연결 상태를 진단합니다.

ping [옵션] 목적지 주소 형식으로 입력하며 목적지 주소에는 연결 상태를 확인하려는 대상의 주소를 입력합니다. IP 주소와 사람이 이해하기 쉬운 도메인 주소 모두 사용할 수 있습니다.

IP 주소가 192.168.0.1인 호스트가 네트워크에 연결되어 있는 상태라면 일정한 시간 간격으로 응답을 받고 있다는 메시지가 화면에 출력될 것입니다. 메시지를 보면 알 수 있듯이, 목적지로부터 받는 응답 패킷의 크기는 64바이트이며 TTL 값은 64, 걸린 시간(time)이 밀리초(1/1000초) 단위로 표시됩니다.

이때 Ctrl + c를 누르면 요청 패킷 전송이 중단됩니다. 그리고 지금까지 결과를 보고합니다. — 192.168.0.1 ping statistics — 아래 정보를 보니, 요청 패킷을 다섯 개 보내 응답 패킷을 다섯 개 받았으며 손실이 없었고, 총 3997밀리초(ms)가 걸렸음을 알 수 있습니다.

shinjaehun@losttemple:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.680 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=0.598 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=0.579 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=0.503 ms
64 bytes from 192.168.0.1: icmp_req=5 ttl=64 time=0.593 ms
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.503/0.590/0.680/0.062 ms
Tip

ICMP 패킷을 그대로 놔두면 인터넷은 네트워크 연결 상태를 확인하기 위해 여기저기서 보내는 ICMP 패킷으로 가득 차버리고 말 것입니다. 이를 막기 위해 ping은 ICMP 패킷이 네트워크에서 자동적으로 소멸하는 장치를 마련했습니다. ICMP 패킷에는 TTL(Time To Live)이라는 항목이 있습니다. TTL 값은 네트워크를 지날 때마다 1씩 줄어듭니다 (구체적으로 얘기하자면 네트워크 게이트웨이 역할을 수행하는 라우터를 거칠 때마다). TTL 항목이 0이 되면 ICMP 패킷은 자동으로 소멸합니다.

도메인 주소로 ping 명령을 실행하면 DNS 서버에 질의해 대상 컴퓨터의 IP 주소를 알아내고 ping을 실시합니다. 해당 호스트가 ping에 대한 응답을 막아놓을 수도 있으니 주의해야 합니다 (네이버의 경우, ping naver.com을 입력하면 응답이 돌아오지 않습니다.  naver.com에서 ping에 응답하지 않도록 설정했기 때문입니다). kldp.org로 테스트해볼까요?

shinjaehun@losttemple:~$ ping kldp.org

-i 옵션은 요청 패킷을 전송하는 대기 시간을 설정합니다. 다음 명령은 5초 간격으로 패킷을 전송할 것입니다.

shinjaehun@losttemple:~$ ping -i 5 www.kldp.org

-t로 TTL 값을 0에서 255까지 변경할 수 있습니다. 다음과 같이 ICMP 패킷의 TTL 값을 너무 작게 설정할 경우 패킷이 목적지에 닿기 전에 자동으로 소멸해버린다는 사실을 알 수 있습니다.

shinjaehun@losttemple:~$ ping -t 10 www.kldp.org
PING kldp.org (211.237.1.231) 56(84) bytes of data.
From 211.233.43.118 icmp_seq=1 Time to live exceeded
...

-R 옵션은 요청 패킷이 목적지까지 도달하는 데 거치는 호스트의 IP 주소를 차례로 보여줍니다. 목적지까지 경로에 문제가 있는지 확인할 때 유용한 옵션입니다.

shinjaehun@losttemple:~$ sudo ping -R www.kldp.org
PING kldp.org (211.237.1.231) 56(124) bytes of data.
64 bytes from ipc.kldp.org (211.237.1.231): icmp_req=1 ttl=54 time=53.1 ms
RR:     losttemple.linuxmaster.com (192.168.0.254)
        122.202.142.43
        122.202.128.30
        211.180.25.106
        1.213.86.2
        172.30.62.109
        172.30.62.102
        172.30.11.6
        172.30.11.42
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.