맨위로


Goal
이번 강의에서는 ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)에 대해서 간단하게 알아보고 와이어샤크를 통해 ICMP 패킷을 캡쳐한후 패킷의 구조를 분석해보도록 하겠습니다.


ICMP의 목적

ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜) 은 네트워크에서 오류,경고,알림에 대한 메시지를 전달하는 목적으로 사용된다. ICMP 메시지 유형에는 다음과 같이 여러가지 유형이있다.
 
  • 에코 메시지 : ping과 종단-대-종단 연결을 테스트하기 위한 traceroute로 사용된다. 대부분 정찰 신호 일것이다. 


  • 재지정 메시지 : 목적지에 더 좋은 경로가 있는 것을 알고있는 라우터에 의해 사용된다.

  • 목적지에 도달할 수 없는 메시지  :  여러가지 이유로 전송되지 못한 발신지의 패킷을 알기 위한 목적으로 사용되어진다.


ICMP 트래픽 분석


일반적인 ICMP기반 ping 과정은 다음 그림과 같다. 자세한 패킷구조는 잠시후에 살펴보도록 하고 지금은 간단하게 살펴보도록 하겠다.

<그림 1 ICMP 기반 ping>

ICMP는 3가지의 traceroute(목적지를 찾아가면서 거치는 구간의 정보를 기록하는것) 기반이 있다. 3가지 기반은 ICMP,UDP,TCP 기반이다. 3가지 중에 일반적인 ICMP 기반 traceroute는 ICMP 에코 요청을 사용하며 TTL(Time To Live) 값을 수정한다.  라우터에서 TTL 값을 검사하고 라우터는 이에 대한 응답을 한다. 이는 라우터의 IP주소를 발견할수 있게 한다.


ICMP 패킷 구조 분석


ICMP 패킷은 UDP나TCP 헤더를 포함하지 않는다. ICMP 패킷은 IP 헤더 다음에 유형,코드,체크섬 으로 구성돼 있다. 일부 패킷은 추가 필드를 포함한다.  우리는 유형,코드,체크섬 에 대해서만 알아보도록 하곘다.

<그림 2>

지금 부터 와이어 샤크를 통해 캡쳐한 패킷인 <그림2> 를 하나하나씩 분석해보도록 하겠다.

  • Type (유형)  : ICMP 메시지 유형은 다음 표와 같다.  

 0  에코 응답
 1  할당되지 않음
 2  할당되지 않음
 3  목적지에 도달할 수 없음
 4  발신지 억제
 5  재지정
 6  호스트 주소 선택
 7  할당되지 않음
 8  에코
 9  라우터 광고
 10  라우터 간청
 11 시간 초과 

http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xml 이웹사이트에서 더자세한 정보를 얻을수있다.




  • Code  : ICMP 패킷 유형의 코드 필드 값을 나타낸다. 크게 4가지 유형으로 나뉘어진다.(유형3 - 목적지에 도달할수 없는코드 , 유형5 - 재지정 코드 , 유형 11 - 시간 초과 코드 , 유형 12 - 파라미터 문제 코드)

  • 유형 3 - 목적지에 도달할 수 없는 코드

     0  네트워크에 도달할 수 없음
     1  호스트에 도달할 수 없음
     2  프로토콜에 도달할 수 없음
     3  포트에 도달할 수 없음
     4  Fragmentation 필요,Fragmentation금지 가 설정되어있다.
     5  발신지 경로 실패
     6  목적지 네트워크 알수 없음
     7  목적지 호스트를 알 수 없음
     8  발신지 호스트가 단절됨
     9  목적지 네트워크에 대한 통신이 관리상 금지돼 있음
     10  목적지 호스트에 대한 통신이 관리상 금지돼 있음
     11  서비스 유형에 대해 목적지 네트워크에 연결할 수 없음
     12  서비스 유형에 대해 목적지 호스트에 연결할 수 없음
     13  통신 관리상 금지돼 있음
     14  호스트 우선순위 위반
     15  효과 적인 우선순위 자르기



  • 유형 5 - 재지정 코드
 0  네트워크에 전송하기 위한 최선의 방법이아니다.
 1  호스트에 전송하기 위한 최선의 방법이 아니다.
 2  목적지 네트워크에 대한 경로를 제공하지 않는다.
 3  목적지 호스트에 대한 경로를 제공하지 않는다.


  • 유형 11 - 시간 초과 코드
 0 TTL 전송 시간 초과 
 1  단편화 재조립 시간 초과

  • 유형 12 - 파라미터 문제 코드

 0 포인터는 오류를 표시한다 
 1  옵션 분실
 2  패킷 길이가 좋지 않다.


  • 체크섬 : 체크섬 필드는 ICMP 헤더만 다룬다.



마치며


지금 까지 와이어샤크를 통해 패킷 캡쳐를 해본 ICMP 패킷을 분석해보았습니다. 위에 내용중에는 내용을 간단하게 줄여서 빠진 내용이 있을수도 있습니다. 다음강의에서는 UDP 트래픽을 분석해 보도록 하겠습니다.

와이어샤크 , 와이어 샤크,와이,어,샤크,와,이어,샤크,와이어샤,크,와이어,샤,크,와이어,샤크


Posted by STIH

댓글을 달아 주세요