베지밀

[네트워크] Wireshark로 각 계층 별 패킷 헤더 구조 분석 본문

교육, 프로젝트/시큐리티 아카데미 4기

[네트워크] Wireshark로 각 계층 별 패킷 헤더 구조 분석

vegimil 2024. 7. 5. 19:02

앞서 이더넷, IP, TCP의 헤더 구조에 대해 알아보았다.

이번에는 Wireshark를 이용해서 패킷 길이를 확인해보자.

 

1. BPF(Berkely Packet Filter)

캡쳐 옵션을 naver로 설정하고 시작하면 naver.com에 해당하는 패킷만 캡쳐가 가능하다.

캡쳐하기 전에 특정 패킷만 보이게 필터링하는 것이다.

BPF 문법은 아래 링크에서 확인

https://biot.com/capstats/bpf.html

 

2. Display Filter

패킷이 어느정도 들어오면 정지한 후 필터바에 ip.addr == [내 ip주소]를 검색

BPF와는 달리 캡쳐 후에 필터링하는 것이다.

Display Filter 문법은 아래 링크에서 확인

https://www.thegeekstuff.com/2012/07/wireshark-filter/

 

3. 패킷 헤더 살펴보기

naver.com에 접속하는 패킷을 분석하기 위한 준비는 끝났다.

아무 패킷을 클릭해서 아래 질문에 대답해보자.

프레임은 송신 프레임인가, 수신 프레임인가?
프레임 내 네트워크 계층 헤더의 소스 IP 주소는 무엇인가?
프레임 내 네트워크 계층 헤더의 목적지 IP 주소는 무엇인가?
전체 프레임의 바이트 수는 총 몇 바이트인가?
이더넷(데이터 링크 계층) 헤더의 바이트 수는 몇 바이트인가?
IP 헤더의 바이트 수는 몇 바이트인가?
TCP 헤더의 바이트 수는 몇 바이트인가?
메시지(응용 계층에서의)의 총 바이트 수는 몇 바이트인가?

 

 

  • 프레임은 송신 프레임인가, 수신 프레임인가?

이더넷 헤더를 확인해보면

Destination의 MAC주소는 74:5d:22:9b:17:8c이고, Source의 MAC주소는 58:86:94:49:c7:b8이다.

내 MAC주소는 74:5d:22:9b:17:8c이므로, 해당 패킷은 수신 패킷이다.

이 외에도 IPv4 헤더를 통해서도 확인이 가능하다.

 

  • 프레임 내 네트워크 계층 헤더의 소스 IP 주소는 무엇인가?

네트워크 계층은 IPv4 헤더를 확인하면 된다.

Source Address는 223.130.192.247이다.

nslookup으로 확인해보니 네이버 ip가 맞다.

 

  • 프레임 내 네트워크 계층 헤더의 목적지 IP 주소는 무엇인가?

내 ip 192.168.0.207이 뜬다.

 

  • 전체 프레임의 바이트 수는 총 몇 바이트인가?

1514바이트인 것을 확인할 수 있다.

이는 패킷 최대크기 MTU = 1500byte에 프레임 헤더 길이 14byte를 더한 값이다.

 

  • 이더넷(데이터 링크 계층) 헤더의 바이트 수는 몇 바이트인가?

이더넷을 클릭했을 때 표시되는 14바이트이다.

 

  • IP 헤더의 바이트 수는 몇 바이트인가?

IPv4를 클릭했을 때 표시되는 20바이트이다.

 

  • TCP 헤더의 바이트 수는 몇 바이트인가?

TCP를 클릭했을 때 표시되는 20바이트이다.

 

  • 메시지(응용 계층에서의)의 총 바이트 수는 몇 바이트인가?

TCP를 보면 Segment Len은 1460byte이다.

이는 MTU 1500byte에서 IP헤더와 TCP헤더의 크기를 뺀 값(1500byte-20byte-20byte)이다.

 

 

 

아래 사진을 통해 더 자세히 확인할 수 있다.

 

 

 

네트워크 이론만 배울 땐 진짜 재밌다 ㅎ_ㅎ

 

다음번엔 와이어샤크로 3way handshake 확인해봐야지