일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AWS
- ICMP
- 보안관제
- 라우터
- ELB
- tcp
- 스위치
- SMTP
- IDS
- english
- docker
- k8s
- 프로토콜
- Storage Gateway
- EC2
- Telnet
- 7계층
- Protocol
- 침입탐지시스템
- ssh
- 네트워크
- 침입차단시스템
- 3way handshaking
- IPS
- SQS
- kubernetes
- C#
- AI스쿨
- 브리지
- Queue
Archives
- Today
- Total
Devsecops
ICMP 본문
728x90
3계층 IP 프로토콜은 신뢰할 수 없는 프로토콜, 전송상태에 대한 관리가 이루어지지 않는 단점을 보안하기 위한 프로토콜
- IP 패킷 전송 중 에러 발생 시 에러 발생 원인을 알려주거나 네트워크 상태를 진단해주는 기능을 제공해준다
- Error – Reporting Message 기능 : 전송 중 오류 발생 시 에러 메시지를 생성하여 응답
- Query Message 기능 : 네트워크 상태를 진단하기 위한 쿼리 요청 및 응답 메시지 생성
프로토콜 구조
- Type : ICMP 메시지의 유형/용도
- Code : Type의 세부 내용으로 Type과 Code가 조합되어 ICMP 메시지의 목적과 용도를 나타낸다
- Checksum : ICMP 메시지 오류를 검사하기 위한 값
- Rest of the Header : Type과 Code에 따라 추가되는 헤더
- Data section : 데이터가 위치하는 영역
ICMP Error-Reporting 메시지
- Destination Unreachable(Type 3)
- 해당 목적지에 도달할 수 없음을 의미
- Code 1(Host Unreachable) : 최종 단계의 라우터가 목적지 호스트로 패킷 전송에 실패한 경우
- Code 2(Protocol Unreachable) : 목적지 호스트에서 특정 프로토콜을 사용할 수 없는 경우
- Code 3(Port Unreachable) : 목적지 호스트에 해당 UDP 포트가 열려있지 않은 경우
- Code 4(Fragmentation needed and don't fragment was set) : IP 패킷의 단편화가 반드시 필요하나 IP 헤더의 Don't fragment(DF) 플래그가 설정되어 단편화할 수 없는 경우 라우터에 의해 반환된다
ICMP Query 메시지
- Echo Request(Type 8) and Reply(Type 0)
- Ping 유틸리티에서 사용
- 별도의 Code는 없으며 이외의 쿼리 타입들은 거의 사용되지 않는다
Ping
- 종단 노드 간에 네트워크 상태를 관리하기 위한 명령어
- 목표 시스템에 대한 접근성, 해당 구간에 대한 네트어크 속도 및 품질을 검사하기 위한 명령어
- ICMP Echo Request(Type:8)와 ICMP Echo Reply(Type:0) 메시지 이용
Tracert/Traceroute
- 종단 노드 사이에 있는 여러 중계 노드 각 구간에 대한 네트워크 상태를 관리하기 위한 명령어, 주로 라우팅의 문제점을 찾기 위해 사용된다.
Tracert(유닉스/리눅스)
- TTL 필드를 1로 설정한 UDP 패킷을 보낸다
- TTL 값을 1로 설정하면서 첫 번째 라우터에서 패킷이 폐기되고 ICMP 응답이 오기 때문에 이르 이용하여출발지 호스트와 첫 번째 라우터같의 네트워크 상태를 판단한다
- TTL 값을 1씩 증가시키면서 UDP 패킷을 지속적으로 전송하여 다음 중계 구간에 대한 네트워크 상태를 판단한다
- 최종 목적지에 도착하면 해당 호스트의 UDP 포트는 닫혀 있으므로 ICMP Destination Unreachable 패킷이 반환되며 최초 출발지 호스트는 이 정보를 이용하여 최종 목적지 호스트에 도달했음을 알 수 있게 된다
Traceroute(윈도우)
- TTL 필드를 1로 설정한 ICMP Echo Request 패킷을 보낸다
- TTL 값을 1로 설정하면서 첫 번째 라우터에서 패킷이 폐기되고 ICMP 응답이 오기 때문에 이를 이용하여출발지 호스트와 첫 번째 라우터같의 네트워크 상태를 판단한다
- TTL 값을 1씩 증가시키면서 ICMP 패킷을 지속적으로 전송하여 다음 중계 구간에 대한 네트워크 상태를 판단한다
- 최종 목적지에 ICMP Echo Request 패킷이 도달하면 ICMP Echo Reply 패킷이 반환되며 최초 출발지 호스트는 이 정보를이용하여 최종 목적지 호스트에 도달했음을 알 수 있게 된다
728x90
'[AI스쿨] 리팩토링 > 응용 계층 프로토콜' 카테고리의 다른 글
Telnet (0) | 2022.10.22 |
---|---|
SSH (0) | 2022.10.22 |
HTTP (0) | 2022.10.14 |
이메일 프로토콜 (0) | 2022.10.14 |
FTP (0) | 2022.10.14 |