오늘의 실습 목표
오늘은 Wireshark의 기본 사용법에 대해서 알아보고 간단한 실습을 진행해볼 예정이다. 가장 간단한 네트워크 통신인 ping을 통해 ICMP 패킷을 캡처하고 분석하면서 Wireshark 인터페이스에 익숙해지는 것이 목표다.
Wireshark란?
Wireshark는 네트워크 프로토콜 분석 도구(Network Protocol Analyzer)다. 네트워크 인터페이스를 통과하는 패킷들을 실시간으로 캡처하고, 그 내용을 사람이 읽을 수 있는 형태로 보여준다.
네트워크 관리자나 보안 전문가들이 네트워크 문제를 진단하거나, 트래픽 패턴을 분석하거나, 보안 위협을 탐지할 때 가장 많이 사용하는 도구 중 하나다. 오픈소스이고 무료로 사용할 수 있으며, Windows, macOS, Linux 등 다양한 플랫폼을 지원한다.
Wireshark의 강력한 점은 패킷을 OSI 7계층 모델에 맞춰서 계층별로 분해해서 보여준다는 것이다. 이더넷 프레임부터 시작해서 IP, TCP/UDP, 그리고 HTTP나 DNS 같은 애플리케이션 계층까지, 모든 헤더 정보를 상세하게 확인할 수 있다.
토폴로지 구성
실습을 위한 토폴로지는 최대한 단순하게 구성했다. PC 2대와 스위치 1대만 있으면 된다.

장비 구성:
- Acc-SW1: Ethernet Switch 1대
- PC1, PC2: VPCS 2대
연결:
- PC1 → Acc-SW1의 Ethernet0/0
- PC2 → Acc-SW1의 Ethernet0/1
두 PC는 같은 네트워크 대역(192.168.1.0/24)에 있기 때문에 게이트웨이 설정은 필요 없다.
GNS3 설정
장비 배치 및 연결
먼저 GNS3 작업 영역에 Ethernet Switch 1대를 배치하고 이름을 Acc-SW1로 지정했다. 그 다음 VPCS 2대를 배치해서 각각 PC1, PC2로 이름을 변경했다.
연결은 간단하다. PC1의 ethernet 포트를 Acc-SW1의 Ethernet0/0에 연결하고, PC2는 Ethernet0/1에 연결하면 된다.
IP 주소 설정
각 PC의 콘솔에 접속한 후 IP 주소를 설정한다.
PC1

PC2

설정이 제대로 됐는지 확인하려면 show ip 명령을 입력하면 된다.
Wireshark 캡처 시작
캡처 위치 설정
패킷을 캡처하기 위해 Acc-SW1의 Ethernet0/0 포트에서 우클릭하고 "Start capture"를 선택한다. PC1과 연결된 포트에서 캡처하면 PC1이 보내고 받는 모든 패킷을 볼 수 있다.
Wireshark가 자동으로 실행되면서 캡처가 시작된다.
ping 실행
PC1 콘솔에서 PC2로 ping을 보낸다.

ping이 5번 정도 완료되면 Wireshark 상단의 빨간 사각형 버튼을 눌러서 캡처를 중지한다.
ICMP 패킷 필터링
캡처를 중지하면 화면에 다양한 패킷들이 보일 것이다. 하지만 지금은 ICMP 패킷만 보고 싶으니까 필터를 사용한다.
Wireshark 상단의 디스플레이 필터 입력란에 icmp를 입력하고 Enter를 누르면 ICMP 패킷만 표시된다.
여기서 두 가지 타입의 패킷을 볼 수 있다:

- Echo Request (Type 8): PC1(192.168.1.10)이 PC2(192.168.1.20)로 보낸 패킷
- Echo Reply (Type 0): PC2(192.168.1.20)가 PC1(192.168.1.10)로 응답한 패킷
각 Request마다 대응하는 Reply가 있는 것을 확인할 수 있다.
패킷 구조 분석
이제 본격적으로 패킷의 내부 구조를 들여다볼 차례다. Echo Request 패킷 하나를 클릭하면 중간의 Packet Details 창에 계층별로 정보가 표시된다.
1. 이더넷 헤더 (Ethernet II)

가장 하위 계층인 2계층 정보부터 확인한다.
- Source MAC Address: PC1의 MAC 주소
- Destination MAC Address: PC2의 MAC 주소
- Type: 0x0800 (IPv4를 의미)
같은 네트워크에 있기 때문에 MAC 주소는 각 PC의 실제 MAC 주소가 들어간다. 만약 라우터를 거쳤다면 여기가 달라졌을 것이다.
2. IP 헤더 (Internet Protocol Version 4)

3계층 정보를 확인한다.
- Source IP: 192.168.1.10 (PC1)
- Destination IP: 192.168.1.20 (PC2)
- Protocol: 1 (ICMP)
- TTL (Time to Live): 보통 64 또는 128
- Header Length: 20 bytes (옵션이 없을 때 기본값)
- Total Length: 전체 IP 패킷의 크기 (84 bytes)
TTL 값은 나중에 라우터를 거치는 실습에서 중요하게 다룰 예정이다. 라우터를 하나 거칠 때마다 1씩 감소하는데, 지금은 스위치만 거치기 때문에 변하지 않는다.
3. ICMP 헤더 (Internet Control Message Protocol)

ping의 핵심인 ICMP 정보를 확인한다.
- Type: 8 (Echo Request)
- Code: 0
- Checksum: 오류 검출용 체크섬 값
- Identifier: ping 세션을 식별하는 값
- Sequence Number: 각 ping의 순서 번호 (0, 1, 2, 3...)
- Data: ping 데이터 페이로드 (보통 32바이트)
Sequence Number를 보면 0부터 시작해서 1, 2, 3... 순서대로 증가하는 것을 확인할 수 있다. 이 값으로 어떤 Request에 대한 Reply인지 매칭할 수 있다.
Packet Details 창 활용법 정리
Packet Details 창은 패킷 분석의 핵심이다. 위에서 보았던 것처럼 각 계층별로 접혀있는 항목들을 펼쳐보면서 상세 정보를 확인할 수 있다.
Frame 항목을 클릭하면
- 패킷이 캡처된 시간
- 전체 프레임 길이
- 캡처 인터페이스 정보
Ethernet II 항목을 클릭하면
- Source/Destination MAC 주소
- EtherType (상위 프로토콜 타입)
Internet Protocol Version 4 항목을 클릭하면
- IP 주소 정보
- TTL, Protocol 등의 헤더 필드
Internet Control Message Protocol 항목을 클릭하면
- ICMP Type, Code
- Identifier, Sequence Number
- 데이터 부분
Packet Bytes 창으로 16진수 데이터 확인
하단의 Packet Bytes 창에서는 실제 패킷의 raw 데이터를 16진수로 볼 수 있다.
왼쪽은 16진수 표현이고, 오른쪽은 ASCII 문자로 표현된다. 읽을 수 있는 문자는 오른쪽에 표시되고, 제어 문자나 바이너리 데이터는 점(.)으로 표시된다.

실습해보기
중간 Packet Details 창에서 특정 필드를 클릭하면, 해당 부분이 하단 Bytes 창에서 파란색으로 하이라이트된다.
Destination MAC 클릭 → 6바이트가 강조됨

Source IP 클릭 → 4바이트가 강조됨

ICMP Type 클릭 → 1바이트 (08) 확인

이렇게 실제 데이터가 어떻게 배치되어 있는지 눈으로 확인할 수 있다. 나중에 패킷을 직접 만들거나 분석할 때 유용하다.
Echo Reply 패킷 분석
이번엔 Echo Reply 패킷을 선택해서 Request와 어떤 차이가 있는지 비교해본다.

주요 차이점:
- ICMP Type: 8에서 0으로 변경 (Echo Reply)
- Source/Destination 반대:
- Source IP: 192.168.1.20 (PC2)
- Destination IP: 192.168.1.10 (PC1)
- MAC 주소도 반대
- Sequence Number: Request와 동일한 값
- Data: Request와 동일한 내용
Reply는 Request를 받은 PC2가 그대로 되돌려보내는 것이기 때문에 Sequence Number와 Data는 동일하다. 단지 Source와 Destination이 뒤바뀌고, ICMP Type만 Reply로 변경된다.
추가로 확인해볼 것들
Time 컬럼 분석
패킷 목록에서 Time 컬럼을 보면 각 패킷의 시간 정보를 확인할 수 있다.
Request가 나간 시간과 Reply가 돌아온 시간의 차이를 계산하면 RTT(Round Trip Time)를 알 수 있다. 이 값이 ping 명령에서 보여주는 응답 시간이다.
Statistics 메뉴 활용
Statistics → Capture File Properties
- 전체 캡처 시간
- 총 패킷 수
- 평균 패킷 크기 등
Statistics → Protocol Hierarchy
- 캡처된 패킷의 프로토콜 분포
- 각 프로토콜이 차지하는 비율
컬러링 규칙
Wireshark는 기본적으로 프로토콜별로 다른 색상을 적용한다. ICMP 패킷은 연한 파란색으로 표시되는데, 이는 View → Coloring Rules 메뉴에서 확인하고 커스터마이징할 수 있다.
나중에 복잡한 트래픽을 분석할 때 컬러링 규칙을 잘 활용하면 훨씬 빠르게 원하는 패킷을 찾을 수 있다.
마무리
이번 실습에서 배운 내용을 정리하면 다음과 같다.
- Wireshark의 3가지 주요 창: Packet List, Packet Details, Packet Bytes
- 디스플레이 필터 기본 사용법: icmp, tcp, udp 등
- 패킷의 계층 구조: Ethernet → IP → ICMP
- 각 계층별 주요 필드: MAC 주소, IP 주소, TTL, ICMP Type/Sequence
- 16진수 레벨에서 패킷 데이터 확인하는 방법
가장 기본적인 내용이지만, 이 기초가 탄탄해야 나중에 복잡한 프로토콜을 분석할 때 헷갈리지 않을 것이다. 특히 Packet Details 창에서 계층별로 정보를 펼쳐보는 습관을 들이는 것이 중요할 것 같다.
'Network Practice' 카테고리의 다른 글
| [GNS3] EtherChannel Link Aggregation 구성 (0) | 2025.11.30 |
|---|---|
| [GNS3] STP 최적화 및 루프 방지 실습 (0) | 2025.11.29 |
| [GNS3] 3-Tier 기본 구성 및 VLAN 설계 (0) | 2025.11.27 |
| [GNS3] DNS 및 ARP의 동작 원리 실습 (0) | 2025.11.18 |
| [GNS3] Router와 Switch를 활용한 간단한 Ping 연습 (0) | 2025.11.17 |
