ping : 대표적으로 네트워크와 특정 호스트간의 연결상태를 확인할때 씁니다.

작동방식은 ICMP echo request 패킷을 소스에서 목적지로 보내면

목적지 에서는ICMP echo reply 패킷을 보내주는 것을 의미합니다.

해당 명령으로 알수있는 것은 다음과 같습니다.

C:\>ping yahoo.co.kr                (연결상태를 확인할 대상에게 핑을 보냅니다.)

Pinging yahoo.co.kr [203.212.171.217] with 32 bytes of data:  

Reply from 203.212.171.217: bytes=32 time=16ms TTL=52 
Reply from 203.212.171.217: bytes=32 time=11ms TTL=52
Reply from 203.212.171.217: bytes=32 time=12ms TTL=52
Reply from 203.212.171.217: bytes=32 time=12ms TTL=52

Ping statistics for 203.212.171.217:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 11ms, Maximum = 16ms, Average = 12ms

C:\>

yahoo.co.kr로 ICMP echo request 를 보냈고 크기는 32byte 입니다.
yahoo.co.kr에서 ICMP echo reply 패킷을 응답해줬고 크기는 32byte, request 패킷을받고
reply패킷을 보내는데 걸린시간이 11~16ms 정도 되고, TTL 값은 52가 되었네요.

여기서 TTL이란 Time To Live의 약자로 네트워크에서 목적지를 잃고 패킷이 무한대로 돌아다니지 못하도록
라우터를 한대 지날때마다 1씩 감소하여 0이되면 소멸하도록 미리 패킷에 넣어주는 값이라고 하겠습니다.
(OS가 윈도우 계열인 경우 기본값은 128입니다.)

꽤 많은 라우터를 거쳐서 왔는지 TTL값이 많이 감소해 있고,

뒤쪽줄에보면 보낸 패킷수, 받은 패킷수, 손실된 패킷수와 손실률이 나옵니다.
이어서 request 보내고 reply를 받는데 걸린시간의 최저 , 최대 , 평균 시간이 나옵니다.

이것으로 얻을 수 있는 정보는

상대와 연결되어 있는가?

상대에게 가는데 어느정도의 라우터를 거치게 되는가(참고로 TTL값은 항상 일정한 것은 아닙니다.
이것은 라우팅 알고리즘에 의해서 수시로 라우터가 정해주는 경로가 달라질 수 있기 때문입니다.)

거리가 가까운지 혹은 먼지(가까운 경우에는 걸린시간이 10ms미만으로 표시됩니다.)

등의 정보를 알 수 있습니다.

fping 등의 프로그램을 이용하면 이외에도 특정 네트워크에 호스트 활성화 여부를 스캔할수도 있습니다.

※ 특정 사이트의 경우는 핑에대한 응답을 막아두는 경우도 있습니다.

※ 운영체제별 장비별 환경에 따라서 TTL의 기본값이 조금씩 다릅니다.
    예를들면 시스코 사의 라우터 시리즈들은 TTL 기본값을 255을 갖고,
                  리눅스나 유닉스 계열(이것도 운영체제에 따라 또 다르지만.. 일반적으로 웹서버로
                  쓰는경우에 레드햇 계열은 64의 기본 TTL값을 가지고
                  윈도우NT계열의 윈도우는 128의 기본 TTL값을 갖는다고 합니다..)