Home ICMP
Post
Cancel

ICMP

Internet Control Message Protocol에 대해 알아보겠습니다.

ICMP

ICMP(Internet Control Message Protocol)

  • 네트워크 장치에서 네트워크 통신 문제를 진단하는 데 사용하는 네트워크 계층 프로토콜
  • 데이터가 의도한 대상에 적시에 도달하는지 여부를 확인
  • 라우터와 같은 네트워크 장치에서 사용

ICMP의 목적

오류 보고

  • 두 장치가 인터넷을 통해 연결되면 ICMP는 데이터가 의도한 대상에 도달하지 못한 경우 전송하는 장치와 공유할 오류를 생성
  • 데이터 패킷이 라우터에 비해 너무 큰 경우 라우터에서는 패킷을 삭제하고 ICMP 메시지를 데이터의 원래 소스로 돌려보냄

보조 용도

  • 네트워크 진단 수행
  • 터미널 유틸리티: traceRoute, ping
    • ICMP를 사용해 동작

라우팅 경로

  • 요청이 대상에 도달하기 전에 통과해야 하는 연결된 라우터의 실제 물리적 경로

  • 한 라우터와 다른 라우터 간의 여정

traceRoute와 ping

traceRoute

  • 두 인터넷 장치 간의 라우팅 경로 표시
  • 여정 중 각 홉에 필요한 시간 보고

ping

  • traceRoute의 단순화 버전
  • 두 장치 간의 연결 속도를 테스트
  • 데이터 패킷이 대상에 도달하고 발신자의 장치로 돌아오는 데 걸리는 시간 측정
  • 라우팅 또는 홉에 대한 데이터는 제공하지 않음
  • 두 장치 간의 대기시간(latency)을 측정하는 데 유용
  • ICMP 에코 요청 및 에코 응답 메시지는 일반적으로 ping을 수행하기 위해 사용됨

ICMP 작동방식

  • ICMP는 TCP 또는 UDP와 같은 전송계층 프로토콜과 연결되지 않음
    • 인터넷 프로토콜(IP)와는 다름
  • ICMP가 연결이 없는 프로토콜이 되므로 한 장치에서 ICMP 메시지를 보내기 전에 다른 장치와 연결을 수행할 필요 없음
  • ICMP는 장치의 특정 포트를 대상으로 하는 것을 허용하지 않음

일반 IP 트래픽

  • TCP를 사용해 전송
  • 이는 데이터를 교환하는 두 장치가 먼저 TCP 핸드셰이크를 수행하여 두 장치 모두 데이터를 수신할 준비가 되었는지 확인함을 의미
  • ICMP는 이런 방식으로 연결을 수행하지 않음

ICMP 패킷

  • ICMP 프로토콜을 사용하는 패킷
  • 일반 IP 헤더 뒤에 ICMP 헤더를 포함
  • 라우터나 서버가 오류 메시지를 보내야 하는 경우 ICMP 패킷 본문 또는 데이터 섹션에는 항상 오류를 일으킨 패킷의 IP 헤더 사본 포함

ICMP가 DDoS 공격에 사용되는 방식

ICMP 폭주 공격(ping 폭주)

  • 공격자가 ICMP 에코 요청 패킷으로 대상 장치를 압도하려고 시도하는 경우
  • 대상은 각 패킷을 처리하고 응답해야 해 컴퓨팅 리소스를 소비하여 나중에는 합법적인 사용자가 서비스를 받을 수 없게 됨

죽음의 핑 공격

  • 공격자가 패킷에 허용되는 최대 크기보다 큰 ping을 대상 시스템에 보내 시스템이 정지하거나 충돌하게 만드는 경우
  • 패킷은 대상으로 가는 도중에 분할됨
  • 대상에서 패킷이 원래의 최대 초과 크기로 재조립되면 패킷 크기로 인해 버퍼 오버플로 발생
  • 지금 시점에서는 구식 공격

SMURF 공격

  • 공격자는 스푸핑된 소스 IP 주소가 있는 ICMP 패킷을 전송
  • 네트워킹 장비는 패킷에 응답해 스푸핑된 IP에 응답을 보내고 원치 않는 ICMP 패킷으로 피해 장비를 폭주시킴
  • 구식 공격

참고

인터넷 제어 메시지 프로토콜(ICMP)이란?

ICMP(인터넷 제어 메시지 프로토콜)

인터넷 제어 메시지 프로토콜(ICMP)의 개념 및 작동 원리

This post is licensed under CC BY 4.0 by the author.