와이어샤크(Wireshark) 패킷 캡처 및 분석 기초
1. 와이어샤크(Wireshark)란?
- 네트워크에서 송수신되는 패킷을 캡처하고 분석할 수 있는 가장 대중적인 패킷 캡처 프로그램.
- 패킷 캡처 프로그램: 네트워크 상의 패킷을 모니터링하고 분석할 수 있는 도구.
- 다른 패킷 캡처 프로그램도 있지만, 가장 널리 사용되는 도구가 와이어샤크.
2. 와이어샤크 설치 방법
2.1 윈도우(Windows)에서 설치
- 공식 홈페이지에서 설치 파일 다운로드:
- 설치 진행:
Next
버튼을 눌러 진행.
- 라이선스 동의 후 계속 진행.
- 구성 요소 선택:
- 기본적으로 설정된 옵션을 그대로 두고
Next
클릭.
- WinPcap 또는 Npcap 설치 확인:
- 패킷 캡처를 위해 WinPcap/Npcap이 필요.
- 설치되지 않았다면 같이 설치 진행.
- 설치 완료 후 실행:
- 프로그램을 실행하면 네트워크 인터페이스 목록이 보이면 설치 성공.
2.2 맥(Mac)에서 설치
- 공식 홈페이지에서 Mac 버전 다운로드.
- 설치 파일 실행 후
Applications
폴더로 이동.
- 추가 설치 필요:
CHModBPF
패키지를 실행하여 설치해야 함.
- 설치 완료 후 실행:
- 프로그램 실행 후 네트워크 인터페이스 목록이 보이면 설치 성공.
3. 와이어샤크 기본 사용법
3.1 네트워크 인터페이스 선택
- 와이어샤크 실행 시 보이는 화면에서 패킷을 캡처할 네트워크 인터페이스를 선택.
- 지그재그 모양이 보이는 인터페이스에서 패킷이 송수신됨을 확인 가능.
- 보통 Wi-Fi 또는 이더넷 인터페이스를 선택.
3.2 패킷 캡처 시작 및 중단
- 네트워크 인터페이스 선택 후 더블 클릭 → 패킷 캡처 시작.
- 빨간색 정지 버튼 클릭 → 캡처 중단.
- 상어 지느러미 버튼 클릭 → 캡처 재개.
4. 와이어샤크 화면 구성
와이어샤크는 세 개의 주요 영역으로 나뉨:
-
패킷 리스트 창 (Packet List) - 상단 영역
- 캡처된 패킷 목록이 표시됨.
- 각 패킷에 대한 기본 정보 제공:
- Packet Number (패킷 번호)
- Time (캡처된 시간)
- Source & Destination (송신지 및 수신지 IP)
- Protocol (사용된 프로토콜: TCP, UDP, HTTP 등)
- Length (패킷 크기)
- Info (요약된 패킷 정보)
-
패킷 상세 정보 창 (Packet Details) - 중간 영역
- 선택한 패킷의 헤더 정보 및 캡슐화된 데이터 확인 가능.
- HTTP, TCP, IP, 이더넷 등 각 계층의 프로토콜 정보 표시.
-
패킷 바이트 창 (Packet Bytes) - 하단 영역
- 선택한 패킷의 16진수(Hex) 및 ASCII 데이터 확인 가능.
5. 와이어샤크 캡처된 패킷 분석
5.1 패킷 캡슐화 확인
- 패킷을 클릭하면 각 계층별 캡슐화 정보를 확인할 수 있음.
- 예를 들어, HTTP 패킷을 보면:
- 응용 계층 (HTTP): HTTP 요청 또는 응답 메시지.
- 전송 계층 (TCP): TCP 헤더 (출발지 포트, 목적지 포트, 시퀀스 번호 등).
- 네트워크 계층 (IP): IP 헤더 (출발지 IP, 목적지 IP).
- 데이터 링크 계층 (Ethernet): MAC 주소, 프레임 유형.
5.2 TCP 패킷 분석
- 3-Way Handshake (TCP 연결 수립)
SYN
→ SYN-ACK
→ ACK
순서로 이루어짐.
- TCP 세그먼트 재전송 감지
- TCP 패킷 중
Retransmission
이 발생한 경우 성능 저하 원인 파악 가능.
5.3 HTTP 패킷 분석
- 요청(Request) 및 응답(Response) 확인:
- GET, POST 등의 HTTP 요청을 확인 가능.
- HTTP 응답 코드 (200 OK, 404 Not Found 등) 분석 가능.
6. 와이어샤크 필터링 (Packet Filtering)
6.1 기본 필터링
-
특정 프로토콜 패킷만 보기
http
→ HTTP 패킷만 보기.
tcp
→ TCP 패킷만 보기.
udp
→ UDP 패킷만 보기.
-
특정 IP 주소 필터링
ip.addr == 192.168.1.1
→ 특정 IP의 패킷만 보기.
ip.src == 192.168.1.1
→ 특정 출발지 IP 패킷만 보기.
ip.dst == 192.168.1.1
→ 특정 목적지 IP 패킷만 보기.
-
특정 포트 필터링
tcp.port == 80
→ 80번 포트(TCP)만 보기 (HTTP 트래픽).
udp.port == 53
→ 53번 포트(UDP)만 보기 (DNS 트래픽).
6.2 복합 필터링
-
AND 연산 (&&)
ip.src == 192.168.1.1 && tcp.port == 80
- 설명: 192.168.1.1이 출발지인 HTTP 트래픽만 필터링.
-
OR 연산 (||)
tcp.port == 443 || tcp.port == 80
- 설명: HTTP(80) 또는 HTTPS(443) 트래픽 필터링.
-
NOT 연산 (!=)
ip.addr != 192.168.1.1
- 설명: 특정 IP 주소를 제외한 모든 패킷 필터링.
7. 와이어샤크 캡처 파일 저장 및 열기
7.1 캡처한 패킷 저장
File > Save As
클릭.
- 파일 이름 입력 (
.pcap
또는 .pcapng
형식으로 저장).
- 저장 완료.
7.2 저장된 패킷 파일 열기
File > Open
클릭.
- 저장된
.pcap
파일 선택 후 열기.
8. 와이어샤크 실습 파일 목록
와이어샤크 실습을 위해 6개의 패킷 캡처 파일을 제공.
-
IPv4 Fragmentation
- IP 버전 4의 단편화(fragmentation)와 ICMP 패킷 분석.
-
IPv6 Fragmentation
-
TCP 3-Way Handshake
- TCP 연결 수립 과정(SYN, SYN-ACK, ACK) 확인.
-
TCP Connection Close
- TCP 연결 종료 과정(FIN, ACK) 분석.
-
TCP Transmission
- TCP 패킷 재전송 및 빠른 재전송(Fast Retransmit) 분석.
-
HTTP Request & Response
9. 결론
- 와이어샤크는 네트워크 분석 및 트러블슈팅에 필수적인 도구.
- 패킷 캡처, 분석, 필터링 기능을 숙지하면 네트워크 상태를 쉽게 파악 가능.
- 다음 강의에서는 캡처된 패킷을 분석하며 실습 진행.
🚀 다음 시간부터 실습을 진행하며 네트워크 프로토콜을 분석해보자!