보안이 하고싶은 joseph

와이어샤크를 이용해 IP패킷 분석하기 본문

패킷분석

와이어샤크를 이용해 IP패킷 분석하기

joseph94 2020. 7. 31. 14:32
반응형

오늘은 와이어샤크를 이용해 IP패킷을 분석해 보도록 하겠습니다.

 

분석 전 먼저 헤더 구조를 알아야 하니 IP 헤더구조에 대해 설명하겠습니다.

 

IP 패킷구조

 

버전 : 사용중인 IP패킷의 버전 (IPv4 또는 IPv6)

헤더길이 : IP 헤더의 길이

서비스 타입 :  라우터가 트래픽의 우선순위를 지정하는데 사용하는 플래그유형

총 길이 : IP패킷의 총길이(헤더+페이로드)

식별자 : 패킷의 순서를 식별하는데 사용되는 고유 번호

플래그 : 패킷이 단편화되었을때 단편화가 끝났는지, 더 남았는지 확인 가능한 필드

단편 오프셋 : 패킷이 단편화 되었으면 해당 필드 값을 이용해 올바른 순서로 재구성 하는 필드

생존시간 : IP 패킷의 생존시간을 지정하는 필드 (즉 얼마나 많은 라우터를 경우 할 수있는지 확인 하는 필드)

프로토콜 : 상위 프로토콜을 식별하기 위한 프로토콜 번호를 저장하는 필드 (프로토콜 별 고유 번호가 존재)

헤더 체크썸 : IP헤더가 손상됐는지 검사하는 필드

출발지 IP 주소 : 패킷을 보낸 host ip주소

목적지 IP 주소 : 패킷의 목적지 ip주소

데이터 : 실제 데이터가 담겨있는 필드

 

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------

 

와이어샤크에서 캡쳐한 사진

 

 

위 사진에 나와있는 패킷들을 하나씩 클릭하여 분석해보도록 하겠습니다.

 

 

첫 번째 패킷

우선 첫번째 패킷입니다

 

버전은 v4인것을 확인 할 수있습니다.

헤더 길이는 20바이트입니다.

헤더 + 데이터의 길이는 1500바이트입니다. (※ 이더넷 MTU는 1500byte 입니다)

패킷의 고유 식별자는 16진수로 0x61d1이고 2진수로 25041 인것을 알 수 있습니다.

flags에 More fragments가 1로 표기된 것이 보이며 이는 단편화가 진행중이라는 것을 나타냅니다

오프셋 값은 0으로 이는 해당 패킷은 단편화중에서 첫 번째를 나타냅니다.

TTL 값은 128로 목적지 장치의 OS 는 windows라는 것을 알 수 있습니다

해당 패킷의 상위프로토콜은 ICMP (1) 인것을 알 수있습니다. ※ (1)은 고유 프로토콜 번호를 나타냄

출발지 IP와 목적지 IP는 각각 192.168.0.114 / 192.168.0.193 이며

마지막으로 데이터가 1480 byte 크기 임을 확인 가능합니다.

※ 데이터 크기가 1500이 아닌 이유는 IP헤더 크기 20byte를 뺀 나머지 값을 나타내서 1480byte입니다

 

 

두번째 패킷

 

이번엔 첫번째 패킷의 차이점 위주로 적어보도록 하겠습니다.

 

Total Length (패킷 총길이) 는 위와 동일하게 1500byte입니다

Identification(식별자) 25041 을 통해 같은(?)패킷인 것을 확인 할수 있습니다

Fragment offset이 1480인 이유는 첫번째 패킷의 데이터가 1480byte였으므로 1480부터 시작임을 나타냅니다

 

 

 

 

 

 

 

 

마지막인 세 번째 패킷입니다

 

Total Length(패킷의 총길이) 는 140byte인 것을 확인할수 있습니다

Identification(식별자) 또한 같은 패킷입니다

Flags를 보면 More fragments 가 0입니다. 이는 더이상 단편화한 패킷이없다는 뜻 즉 마지막 패킷이라는 뜻입니다

offset값을 보면 2960으로 1480+1480해서 2960이라는 값이 나왔습니다

 

ICMP 프토토콜을 보면 type 8번 요청패킷입니다

마지막 데이터부가 3072byte인 이유는 첫번째패킷

ⓐ (총길이 1500byte- 헤더20 byte = 1480byte) ⓑ (총길이 1500byte- 헤더20 byte = 1480byte)

ⓒ (총길이 140byte - 헤더 20byte = 120byte) 

 

= ⓐ+ⓑ+ⓒ - ICMP패킷(8byte) = 3072byt가 나왔습니다.

 

 

★☆피드백은 언제나 환영입니다☆★

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
Comments