Wireshark 소개

Wireshark 패킷 분석 소개입니다. 설치, capture filter와 display filter 차이, 자주 쓰는 필터, tshark CLI 캡처, 분석 흐름, pcap 공유 주의사항을 정리했습니다.

Wireshark는 패킷을 캡처하고 프로토콜 필드 단위로 분석하는 도구입니다. 네트워크 장애, DNS 문제, TLS handshake, TCP retransmission, HTTP 요청 흐름을 눈으로 확인할 수 있습니다. 단, 패킷에는 계정, 쿠키, 내부 IP, 업무 데이터가 포함될 수 있으므로 허가된 네트워크에서만 캡처해야 합니다.

설치

Windows와 macOS는 공식 다운로드 페이지에서 설치하고, Linux는 배포판 패키지를 사용할 수 있습니다.

# Ubuntu/Debian
sudo apt update
sudo apt install -y wireshark tshark

# RHEL/Rocky/Alma
sudo dnf install -y wireshark-cli

캡처 필터와 디스플레이 필터 차이

Wireshark에서 가장 많이 헷갈리는 부분입니다.

  • Capture filter: 캡처 시작 전에 정합니다. 저장되는 패킷 자체를 줄입니다. 예: tcp port 443
  • Display filter: 캡처 후 화면에서 보이는 패킷을 필터링합니다. 예: tcp.port == 443

Wireshark 공식 Wiki도 capture filter와 display filter를 혼동하지 말라고 설명합니다.

자주 쓰는 display filter

dns
http
tcp.port == 443
ip.addr == 192.168.0.10
tcp.analysis.retransmission
tcp.flags.syn == 1 and tcp.flags.ack == 0
tls.handshake

tshark로 CLI 캡처

서버 환경에서는 GUI 대신 tshark로 짧게 캡처하는 경우가 많습니다.

sudo tshark -D
sudo tshark -i eth0 -f "tcp port 443" -a duration:30 -w /tmp/https-30s.pcapng
tshark -r /tmp/https-30s.pcapng -Y "tcp.analysis.retransmission"

분석 흐름

예를 들어 웹 접속이 느린 경우 다음 순서로 봅니다.

  • DNS 질의와 응답 시간이 정상인지 확인합니다.
  • TCP 3-way handshake가 지연되는지 봅니다.
  • TLS handshake가 실패하거나 반복되는지 확인합니다.
  • HTTP response code와 서버 응답 시간을 봅니다.
  • retransmission, duplicate ACK, zero window가 반복되는지 봅니다.

저장과 공유 주의사항

pcap 파일은 민감정보 덩어리일 수 있습니다. 외부 공유 전에는 캡처 범위를 줄이고, 필요한 경우 익명화하거나 텍스트 요약만 공유합니다. 공용 채널이나 저장소에 pcap을 그대로 올리는 것은 피하는 편이 안전합니다.

공식 문서

BGM EVER