반응형
ICMP 특징
네트워크의 호스트나 라우터에서는 예상치 못한 상황이나 오류가 발생할 수 있다.
이때 라우터에서 발생한 오류를 송신 측으로 전송하는 데 사용하는 프로토콜이 바로 ICMP(Internet Control Message Protocol) 프로토콜이다.
- ICMP는 네트워크 계층에 상주하지 않고, IP 데이터그램에 캡슐화되어 인터넷으로 전송된다.
- 양쪽으로 통신을 한다.
- ICMP는 포트번호가 없다.
- ping 명령어에서 ICMP 프로토콜을 사용한다.
- ICMP 프로토콜을 활용한 공격 : ICMP Redirect, Ping of Death
[OSI 7 모델] 3계층 - ICMP 헤더
Type (8bit) : 메시지 유형
- 8비트이므로 256가지 유형의 가능 (0~127 : 오류 보고 메시지, 128~255 : ICMP 정보성 메시지)
Code (8bit) : 각 메시지 유형마다 추가적인 세부 정보
CheckSum (16bit) : 16비트 검사합
Type | Code | |
0 | Echo Reply (에코 응답) | |
3 | Destination Unreachable (목적지 도달 불가) | |
0 | Net Unreachable | |
1 | Host Unreachable | |
2 | Protocol Unreachable | |
3 | Port Unreachable | |
4 | Fragmentation reuired, and DF set | |
5 | Source Route Failed | |
6 | Destination Network Unknown | |
7 | Destination Host Unknown | |
8 | Source Host Isolated | |
9 | Network Administratively Prohibited | |
10 | Host Administratively Prohibited | |
11 | Network unreachable for TOS | |
12 | Host unreachable for TOS | |
13 | Communication administratively prohibited by filtering | |
14 | Host precedence violation | |
15 | Precedence cutoff in effect | |
4 | Source Quench (발신 억제) * 표준에서 제외됨. |
|
5 | Redirect (재지정) | |
0 | Redirect for network | |
1 | Redirect for host | |
2 | Redirect for TOS and network | |
3 | Redirect for TOS and host | |
8 | Echo Request (에코 요청) | |
9 | Router Advertisement | |
10 | Router Selection | |
11 | Time Exceded (시간 초과) * 패킷이 루프를 돌거나 과밀발생, 타이머 값이 너무 낮게 설정된 경우 발생 |
|
0 | TTL Exceeded | |
1 | Fragment Reassembly Time Exceeded | |
12 | Parameter Problem (매개변수 문제) | |
0 | Pointer Problem | |
1 | Missing a Required Operand | |
2 | Bad Length | |
13 | Timestamp | |
14 | Timestamp Reply | |
15 | Infromation Request | |
16 | Infromation Reply | |
17 | Address Mask Request | |
18 | Address Mast Reply |
ICMP 관련 명령어
1. ping : TCP/IP 환경에서 상대 쪽 호스트의 작동 여부 및 응답 시간을 측정하는 유틸리티 프로그램
옵션
- n 개수 : 요청 개수
- l 크기 : 패킷 크기 지정
- i TTL : 중간 라우터 몇 개 경우 할지 지정
- f : IP 조각화 안 함
- t 횟수 : 사용자가 중지하지 않으면 계속 ping을 함. (중지 : Ctrl + C )
- a : 호스트 이름을 보여줌
* 방화벽에 의해서 'ICMP Unreachable'이라는 메시지가 나타날 수 있음.
2. traceroute : 목적지까지의 라우팅 경로를 추적하기 위해 사용되는 TCP/IP 프로토콜 디버깅 도구
TTL 값이 다음 라우터로 가기 전에 -1이 됨.
TTL 값이 0이 되면, 'Time Exceeded Error' 메시지가 나타남.
반응형