Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

OneDay Network

Wireshark를 통한 ICMP프로토콜 분석 본문

Network

Wireshark를 통한 ICMP프로토콜 분석

programming 2018. 3. 20. 20:26

ICMP프로토콜이란?



ICMP프로토콜이란?

- Ineternet Control Message Protocol의 약자로 인터넷 제어 프로토콜을 의미한다.

- ICMP는 시스템 사이에 데이터를 교환하지 않고, 최종 사용자에게 적용되지 않는다.

- ICMP 메시지들은 일반적으로 IP 동작에서 진단이나 제어, 오류에 대한 응답을 하기 위한 프로토콜이다.



ICMP프로토콜 헤더 구조 



[그림 1] ICMP프로토콜 헤더 구조 



- ICMP헤더는 IP헤더 뒤에서 시작 된다.


Type은 1byte로 구성 되어 있고, ICMP 메시지 유형을 나타낸다.

   0 : 에코(Ping) 응답 

   3 : 목적지 도달 불가

   4 : 발신 억제

   5 : 재지정

   8 : 에코(Ping) 요청

   9 : Router Advertisement 

        - 자신이 라우터라는 것을 알려주기 위해 응답, 일정한 주기로 발송하는 패킷

   10 : Router Solicitation

        - 라우터 탐색 프로토콜을 갖는 장비가 네트워크에 진입시 그 장비는 RS라는 ICMP 질의 메세지를 발송 

          (RS -> RA)

   11 : 시간초과

   12 : 매개변수 문제


- Code는 1byte로 구성 되어 있고, ICMP패킷 유형의 코드 필드 값을 나타낸다.

   0 : Network Unreachable

   1 : Host Unreachable

   2 : Protocol Unreachable 

   3 : Port Unreachable 


- Checksum은 2byte로 구성 되어 있고, ICMP 헤더 손상 여부를 나타낸다.






WireShark를 통한 ICMP프로토콜 패킷 분석


[그림 2] wireshark ICMP 패킷



[그림 3] wireshark Echo 요청 패킷



[그림 4] wireshark Echo 응답 패킷 




[그림 5] wireshark 목적지 도달 불가 패킷




위 그림은 cmd창에서 ping을 통해 ICMP패킷을 발생시켜 와이어샤크에서 패킷을 캡쳐한 것이다.


[그림 3]을 보면 type가 8인 것으로 보아 echo를 요청하였고, type 8번의 code는 없기 때문에 0이라고 표시 되었다. 여기서 Identifier는 식별자를 말하고, Sequence number는 고유의 일련번호를 말한다.


[그림 4]를 보면 type가 0인 것으로 보아 echo 요청에 대한 응답을 한 패킷이다.


[그림 5]를 보면 type가 3인 것으로 보아 목적지에 도달 하지 못한 것을 알 수 있다.
type 3번에는 code가 존재 함으로 이 패킷에서는 3이라는 code를 나타냈다. 
code 3번은 Port Unreachable이다. 즉, 해당 포트에 도달 할 수 없다는 것을 의미한다.
이 경우는 패킷을 보냈을 때 그 포트가 열려있지 않는 경우에 이러한 패킷을 보낸다.



Comments