보안이 하고싶은 joseph

와이어샤크를 이용한 ICMP 패킷분석 본문

패킷분석

와이어샤크를 이용한 ICMP 패킷분석

joseph94 2020. 8. 21. 21:43
반응형

와이어샤크를 이용한 ICMP 패킷분석

 

ICMP 정의

 

IP프로토콜은 비신뢰성 프로토콜입니다. 이러한 단점을 보안하기 위한 프로토콜입니다

OSI의 네트워크 계층의 프로토콜로 IP패킷 전송 중 에러발생시 원인을 알려주거나 네트워크 상태를 진단할때 사용한다.

 

 

 

ICMP 헤더

 

Type : ICMP 메시지 유형

Code : Type의 세부적인 내용

Checksum : 메시지 오류를 검사하기 위한 값

가변길이 : 타입에따라 추가되는 메시지

데이터 : 실제 데이터가 들어있는 영역

 

 

ICMP의 Type과 Code를 보고 해당 패킷이 요청패킷인지, 응답패킷인지 를 확인할 수 있으며, 오류또한 확인 할 수있습니다. 다음은 ICMP의 대표적 Type과 Code 리스트입니다.

 

 

● ICMP Type 정보 메시지

 

    ○ Echo request (Type 8) 

       - ping 에코 요청  

 

    Echo reply (Type 0)

      - ping 에코 응답

 

ICMP 에러 메시지

 

  ○ Destinsation Unreacheable (Type 3)

      - 목적지 도달 불가로 해당 목적지에 도달하지 못했다는 메시지

         * code 1(Host Unreacheable) : 최종 단계의 라우터가 목적지 호스트로 패킷 전송에 실패한 경우

 

         * code 2(Protocol Unreacheable) : 목적지 호스트에서 특정 프로토코를 사용할 수 없는 경우

 

         * code 3(Port Unreacheable) : 목적지 호스트에 UDP포트가 열려있지 않은경우

 

         * code 4(Fragmentation needed and don't fragment was set) : IP 패킷의 Don't fragment 플래그가 설정되어

            단편화 할수 없는 경우 

 

  ○ Redirection (Type 5)

       - 목적지 재지정으로 좀 더 적합한 경로가 있음을 알리기 위해 라우터가 보내는 메시지

  

 

 ○ Time Exceeded (Type 11)

     - 타임아웃이 발생하여 IP 패킷이 폐기되었음을 알리기는 메시지

          * code 0(Time To LIve exceeded in Transit) : 최종 목적지에 도달하기 전에 TTL 값이 0이 되어 패킷이 폐기되었              음을 알리는 메시지

 

         * code 1(Fragment reassembly time exceeded) : IP패킷 재조합 과정에서 타임아웃이 발생하여 IP 데이터그램이             폐기 되었음을 알리는 메시지

 

 

 

그럼 본격적으로 와이어샤크를 보면서 실제 icmp 프로토콜을 분석해 보도록 하겠습니다.

 

시나리오는 144에서 130으로 ping을 날리고 있는 중간에 캡쳐한 상황입니다.

캡쳐된 목록

 

 

 

ICMP request 패킷

 

  •  Type 8은 request 즉 요청패킷임을 알 수 있습니다.
  • (BE) 2742 (0x0ab6)은 빅엔디언 메시지 ID 식별을 나타냅니다.
  • LE : 46602 (0xb60a)은 리틀엔디언 방식의 메시지 ID 식별을 나타냅니다.
  • Data(48bytes) 는 ping 할때 쓰레기 값이 들어있는 것을 알 수 있습니다.

 

 

 

ICMP repl 패킷

응답 패킷도 요청패킷과 비슷한 모습을 띠고 있습니다.

  • Type 0 은 reply 응답을 나타냅니다.

 

 

 

 

 

 

 

반응형
Comments