정보보안, 해킹, IT지식/네트워크 지식

Ping 명령어에 대해 알아보자

Black hawke 2023. 7. 17. 13:26
728x90
반응형

컴퓨터 또는 노트북 등 네트워크를 사용하지 않는 장비가 요즘은 거의 없다.

갑자기 인터넷이나 로컬 네트워크가 끊어지면 어디가 문제인지 알수 없어 당황 할수 있다.

그럴때 간단하게 진단 할 수 있는 ping 명령어에 대해 알아보자

 

Ping 명령이란?

대상 컴퓨터 ICMP(Internet Control Message Protocol) 에코패킷(Echo Packet)을 보낸 후 에코 응답 패킷을 수신하여 대상 컴퓨터와의 연결을 확인, 송신한 패킷의 수를 되돌려 준다.

ICMP메세지는 type에 따라 여러종류가 있으나, ping test는 이중 type 8,0(echo request, echo replay)번을 사용 한다.

Ping 명령은 기본적으로 32Byte 데이터를 포함한 4개의 에코 패킷을 전송하여 테스트 한다.

 

만일 URL(Uniform Resource Locator)로 주소를 입력하면 컴퓨터의 Hosts파일이나 DNS를 이용하여 알아낸 IP 주소로 작업 한다.

예) >ping google.com

142.251.116.139의 응답 : 바이트=32 시간=210ms TTL=99

142.251.116.139의 응답 : 바이트=32 시간=210ms TTL=99

142.251.116.139의 응답 : 바이트=32 시간=210ms TTL=99

142.251.116.139의 응답 : 바이트=32 시간=210ms TTL=99

 

142.251.116.139에 대한 Ping 통계

 패킷: 보냄=4, 받음=4, 손실=0 (0% 손실) 

 왕복 시간(밀리초): 최소 = 209ms, 최대=210ms,  평균=209ms

 

기본적으로 ping 명령은 아래와 같은 구절로 표시 됩니다.

Packet: sent=4, Received= 4, Lost= <0% Loss>

 

TTL(Time to live) 값 : 대상의 컴퓨터에 패킷이 도달하였다가 돌아오는 시간을 의미하는 TTL에 사용하고 남은 TTL 값을 보여준다.

. windows 운영체제 기반 :  TTL=128

. Unix 운영체제 기반 : TTL-=64

. Others 운영체제 기반 :  TTL= 255 로 표시 된다.

(TTL에 대해서는 다음에 좀 더 자세히 알아 보겠습니다.)

 

네트워크 진단으로 ping 명령어 사용 하기

쓰든 인터넷이 갑자기 안될때 또는 무선 연결 등이 끊어 졌을때 진단하기

윈도우에서 실행(Run) -> cmd -> ipconfig

1. 내 컴퓨터의 ip address 및 gateway를 알아야 한다.

   < Run -> cmd - > ipconfig [/all] >

* ipconfig와 ipconfig /all 명령을 비교해보자.

   ex) 명령어 ipconfig 했을때 :  물리적주소(Physical address) 즉 MAC 주소가 version 4가 나오지 않는다.

 

무선 LAN 어댑터 Wi-Fi:
   연결별 DNS 접미사. . . . :
   링크-로컬 IPv6 주소 . . . . : fe80::873:179b:81a:63a4%25
   IPv4 주소 . . . . . . . . . : 192.168.1.29
   서브넷 마스크 . . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . . : 192.168.1.1

 

    ex)명령어 ipconfig /all 사용했을때 : 모든 어뎁터의 주소 및 MAC 주소를 표시 한다.(무선 어댑터만 캡쳐 )

 

무선 LAN 어댑터 Wi-Fi:
   연결별 DNS 접미사. . . . :
   설명. . . . . . . . . . . . : Intel(R) Wi-Fi 6 AX201 160MHz
   물리적 주소 . . . . . . . . : 10-51-07-68-92-69  --> 나의 물리적 주소(Mac address IPv4)
   DHCP 사용 . . . . . . . . . : 아니요
   자동 구성 사용. . . . . . . : 예
   링크-로컬 IPv6 주소 . . . . : fe80::873:179b:81a:63a4%25(기본 설정)
   IPv4 주소 . . . . . . . . . : 192.168.1.29(기본 설정)  --> 내 컴퓨터의 인터넷 주소

   서브넷 마스크 . . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . . : 192.168.1.1  -> 내 컴퓨터의 게이트웨이 주소
   DHCPv6 IAID . . . . . . . . : 68178183
   DHCPv6 클라이언트 DUID. . . : 00-01-00-01-29-D6-AD-DA-10-51-07-68-92-69
   DNS 서버. . . . . . . . . . : 168.126.63.1  -> 내 인터넷망의 DNS(Domain Name Server) 주소
                                 8.8.8.8
   Tcpip를 통한 NetBIOS. . . . : 사용

 

 

2. 내 컴퓨터의 IP를 확인 후 게이트웨이와 DNS로 ping Test 한다.

 게이트웨이 까지 Ping Test 후 연결이 정상인데 연결이 안된다면 DNS까지도 Test 해본다

  ex>ping 192.168.1.1

192.168.1.1의 응답 : 바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 : 바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 : 바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 : 바이트=32 시간=10ms TTL=99

 

142.251.116.139에 대한 Ping 통계

 패킷: 보냄=4, 받음=4, 손실=0 (0% 손실) 

 왕복 시간(밀리초): 최소 = 10ms, 최대=10ms,  평균=10ms

 ex>ping 168.126.63.1

 

3. PING Test 명령어로 상태 확인 및 명령어

 ex>ping 192.168.1.1

192.168.1.1의 응답 :바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 :바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 :바이트=32 시간=10ms TTL=99

192.168.1.1의 응답 :바이트=32 시간=10ms TTL=99

192.168.1.1에 대한 Ping 통계

 패킷: 보냄=4, 받음=4, 손실=0 (0% 손실)  -> 정상 상태의 ping test  결과

 

192.168.1.1의 응답 : 요청시간이 만료 되었습니다.(Request timeout...)

192.168.1.1의 응답 : 요청시간이 만료 되었습니다.(Request timeout...)

192.168.1.1의 응답 : 요청시간이 만료 되었습니다.(Request timeout...)

192.168.1.1의 응답 : 요청시간이 만료 되었습니다.(Request timeout...)

 

192.168.1.1에 대한 Ping 통계

 패킷: 보냄=4, 받음=0, 손실=4 (100% 손실)  -> 이 경우는 ping test 실패의 경우로,

  IP주소를 재 확인 및 물리적 연결이 되었는지 점검이 필요하다.

    . 랜 케이블 연결에 LED 불이 들어 오는지?

    . ip는 정상적으로 받고 있는지, 등

만약, 게이트웨이까지 정상인데 DNS가 응답이 없다면 , 이것을 ISP(Internet Service Provider) 업체에 문의 해야 한다.

 

Ping Test의 여러 가지 옵션

ping -t [주소:ip or domain name]   ==> 사용자가 중지하기 전까지 지속적으로 패킷을 전송

ping -a [주소]              ==> 주소 대상 주소를 컴퓨터 이름으로 변경 할때

ping -n [회수] [주소]   ==> 지정한 횟수 n만큼 패킷을 보낼때 , 기본값은 4회

ping -I [크기][주소]     ==> 지정한 크기를 패킷으로 보낼때, 지정하지 않으면 32 Byte 전송

ping -i TTL [주소]       ==> 사용할 TTL 수를 설정하고자 할때

ping -v TOS [주소]     ==> IP헤더의 Type Of Service의 필드를 TOS에 지정한 값으로 설정

ping -r count [주소]    ==> count에 지정한 횟수 만큼의 라우터 경로를 보여준다. Countsms 1~9까지 지정 가능

ping -s count [주소]   ==> count에 지정한 홉의 수에 관한 타임 스템프를 출력 한다. Count지정은 1~4까지

ping -j [리스트] [주소]  ==>  리스트의 컴퓨터를 통해서 패킷의 경로를 정할때 사용

'

등등 여러가지 명령어를 옵션을 사용 할 수 있다.

 

PING Test 명령어 Error 메시지

 

1. Distination Unreachable

  라우터가 원격시스템으로 가는 경로를 찾지 못한 경우, 목적지 시스템의 특정 포트 번호가 현재 응당 할 수 없는 경우, 그리고 여러가지 문제가 발생한 경우에 생성 

  :  사용자가 인터넷에서 라우팅 될수 없는 사설 주소에 연결하는 경우가 흔하게 나타 난다.

2. Host Unreachable
  IP 데이터 그램이 최종 목적지 시스템에 전달 되지 않았다는 것을 나타낸다.

  : 최종단계의 라우터가 목적지 시스템에 이르는 방법을 모를는 겨우 생성.(호스트가 존재하지 않는다는 뜻은 아니다)

3.Protocol Unreachable

  목적지 시스템에서 특정 전송 프포토콜을 사용 할 수 없다는 것. 

  : 사용자가 비표준 전송 프로토콜(XTP와같은) 을 사용하여 그 프로그램을 지원하지 않는 다른 호스트와 통신하는 경우

4. port Unreachable

  목적지 시스템에서 특정 목적지 포트 번호가 사용되지 않는 다는 것을 나타낸다.

  : 거의 대부분 UDP에 의해 생성, 클라이언트 애플리케이션에서 적재되지 않거나 기대한 포트번호를 사용하지 않는 서버 어플리케이션에 접속을 시도 하는 경우 나타난다.

5. Source Route Failed

  라투어테 데이터 그램의 소스 라우트 ip 옵션(Source Route Ip Option) 필드에 지정된 다음 단계의 라우터에 패킷을 전달하지 못하는 것을 나타낸다.

  :  Source 라우팅은 다음 단계의 라우터가 유효하지 않거나 라우터가 다음 단계의 라우터에 데이터 그램을 전송 하지 못하는 경우 실패하게 된다.

6. Destination Network unknown

  목적지 네트워크가 아예 존재하지 않는다는 것을 나타낸다.데이터 링크 네트워크에서 목적지 네트워크가 존재하지 않는다는 명백한 증거를 가졌을때만 전송.
: 목적지 네트워크가 실제로 존해 하지 않는다는 것을 나타낸다.

7.Destinataion Host Unknown

  6번 Destination Network unknown과 마찬가지로 Host에 관한 것으로 HOST가 존재 하지 않는다는 것을 나타낸다.

8. Network unreachable for Type-of-Sevice

  출발지와 목적지 시스템 사이에 있는 중계라우터에 의해 다음 단계의 네트워크에서 IP 데이터 그램이 요구하는 서비스 종류 값 또는 기본 서비스 종류를 지원하지 않는 경우에 생성 된다.

9. Host unreachable for Type-of-Sevice
   목적지 시스템을 위한 마지막 단계의 네트워크에서 IP 데이터그램이 요구하는 서비스 종류 값 또는 기본 서비스 종류를 지원하지 않을 경우에 마지막 단계의 다루터에 의해 생성 된다.
: 마지막 라우터는 패킷을 거부하고 이 문제를 송신 시스템에 보고한다.


지금까지 PING TEST 관련한 내용에 대해 알아봤습니다.

다음에 다른 주제로 포스팅 해보도록 하겠습니다.:))

728x90