ICMP Header

2022. 4. 11. 18:49Network

○ What is ICMP

ICMP[Internet Control Message Protocol (인터넷 제어 메세지 프로토콜)]은 Layer3에 해당되는 프로토콜.

네트워크 컴퓨터 위의 운영체제에서 오류메시지를 전송받는데 주로 사용됨.

같은 L3에 속한 IP프로토콜은 패킷을 목적지에 보내는 것에 초점이 맞추어져 있어서 목적지에 도착하면 문제가 없지만 중간에 비정상적인 상황이 발생한다면 출발지에 전송이 실패했다는 메시지를 전달할 방법이 없기 때문에 ICMP프로토콜이 이러한 IP프로토콜의 단점을 보완 할 수 있음.

image reference check : https://hack-cracker.tistory.com/124

 

○ ICMP's message types

 Error Reporting Message -> 오류가 발생하면 에러 메시지를 생성하여 응답함

 Query Message -> 네트워크 상태를 진단하기 위해 쿼리를 요청하거나 응답메시지 생성함

 

○ ICMP Header

1. Type[8bits]

ICMP 메시지의 유형, ICMP의 메시지를 구별

Type 종류

자주 사용하는 Type

0번 -> 통신확인응답

8번 -> 통신확인요청

3번 -> 보통 목적지까지 못간경우[경로상문제]

11번 -> 목적지에는 도달했지만 응답을 못받은경우[상대방이 방화벽켰을때]

5번 -> 원격지에 있는 상대방의 라우팅테이블을 원격으로 수정함[보안상중요]

 

2. Code[8bits]

추가적인 메세지 정보[Type->대분류, Code->소분류]

 

3. Checksum[16bits]

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

 

4. Other message specific information[32bits]

 

한번 icmp type을 확인하기 위해 와이어샤크를 활용하여 패킷을 분석해봄

임의의 ip값입력
ping 7.7.7.7에 대해 4개의 패킷이 보내짐

와이어샤크를 통해 ICMP를 확인해 보니 아까 입력한 7.7.7.7 에 대한 4개의 패킷이 잘 나와있음

[172.xxx.11 -> 출발지, 7.7.7.7 -> 목적지]

 

ICMP 패킷을 확인해보니 빨간색으로 표시된 부분[8bytes]이 ICMP임

그런데 빨간색 이후 파란색으로 표시된 부분32byte가 추가로 표시가 되는데

이것은 DATA값으로 총 32bytes이고 쓸데없는 알파벳으로 채워져있음[DATA값이므로 ICMP는 앞의 8bytes 이므로 이부분만 신경써서 보면 될 것 같음]

 

 

Type[8bits]

아까 출발지[내ip]에서 7.7.7.7을 요청해서

ICMP Header의 Type 부분이 8번으로 설정되어 있는 것을 확인함

CODE[8bits]
Checksum[16bits]

'Network' 카테고리의 다른 글

ARP header  (0) 2022.04.16
Encapsulation & Decapsulation  (0) 2022.04.14
DNS  (0) 2022.04.08
Udp header  (0) 2022.04.06
TCP header  (0) 2022.04.05