Wireshark — 네트워크 분석 및 진단
최신 도구 가이드 / 네트워크 분석 및 진단 / wireshark.html
네트워크 트래픽을 캡처해 프로토콜 단위로 분석하는 GUI 패킷 분석 도구.
기본 정보
| 프로그램 이름 | Wireshark (와이어샤크) |
|---|---|
| 한 줄 소개 | 네트워크 트래픽을 캡처해 프로토콜 단위로 분석하는 GUI 패킷 분석 도구. |
| 개발·유지 | Wireshark Foundation (비영리 재단, 커뮤니티 개발) |
| 공식 홈페이지 | https://www.wireshark.org/ |
| 공식 문서 | https://www.wireshark.org/docs/wsug_html_chunked/ |
| 공식 다운로드 | https://www.wireshark.org/download.html |
| 지원 운영체제 | Windows(x64·Arm64), macOS(Universal), Linux(Ubuntu PPA 등), 소스 빌드 |
| 라이선스 | GPL-2.0-or-later |
| 안정 버전 | 4.6.9 (구 안정 계열 4.4.19, 개발 4.7.4) — 확인일 2026-10-18 |
| GitHub 저장소 | https://gitlab.com/wireshark/wireshark |
| 분류 | 네트워크 분석 및 진단 (태그: 패킷 분석, 프로토콜, pcap, 네트워크 진단, GUI) |
이 프로그램은 무엇인가?
Wireshark는 네트워크 카드를 지나가는 패킷을 그대로 복사해 파일로 저장하고, 저장된 패킷을 프로토콜별로 해석해 보여주는 프로그램입니다. 수천 종의 프로토콜을 해석할 수 있어 이더넷 헤더부터 HTTP 헤더, DNS 질의, TLS 핸드셰이크까지 계층별로 펼쳐 볼 수 있습니다.
서버 관리자가 '통신이 왜 안 되는가'를 확인할 때 가장 마지막에 꺼내 드는 도구입니다. 애플리케이션 로그에는 남지 않는 재전송, 순서 뒤바뀜, TCP 재설정(RST), DNS 응답 지연 같은 문제가 패킷 수준에서는 그대로 보이기 때문입니다.
어떤 문제를 해결하는가?
- 애플리케이션 로그만으로는 원인을 알 수 없는 통신 실패를 확인합니다.
- 서버·방화벽·로드밸런서 구간 중 어디에서 연결이 끊기는지 판단합니다.
- DNS 조회 실패, TCP 재전송, 느린 응답 시간(왕복 지연)을 수치로 확인합니다.
- 개발 중인 API가 실제로 어떤 요청과 응답을 주고받는지 검증합니다.
- 네트워크 담당자에게 '패킷 증적'을 첨부해 문제를 전달할 때 사용합니다.
주요 기능
라이브 캡처와 저장
지정한 인터페이스의 트래픽을 실시간으로 받아 화면에 표시하고 .pcapng 파일로 저장합니다.
- 활용 상황: 특정 시간대의 문제를 재현한 뒤 파일로 남겨 두고 나중에 다시 분석할 때 사용합니다.
- 얻는 결과: 재현되지 않는 간헐적 장애도 증적을 확보해 반복 분석할 수 있습니다.
- 제한 사항: 서버에서는 캡처 권한(root 또는 cap_net_raw)이 필요합니다.
디스플레이 필터
캡처된 패킷 중 조건에 맞는 것만 골라 표시합니다(예: ip.addr == 10.0.0.5 && tcp.port == 443).
- 활용 상황: 수만 개 패킷에서 특정 호스트·포트의 대화만 보고 싶을 때 사용합니다.
- 얻는 결과: 분석 대상이 수십 줄로 줄어 문제 지점을 빠르게 찾습니다.
- 제한 사항: 필터 문법이 틀리면 결과가 비어 보이므로 문법을 확인해야 합니다.
프로토콜 해석과 재조립
TCP 스트림을 재조립해 HTTP 요청·응답 본문 전체를 보여줍니다.
- 활용 상황: API 요청 본문이나 응답 JSON을 눈으로 확인할 때 사용합니다.
- 얻는 결과: 로그에 남지 않는 요청 헤더·쿠키·상태 코드를 확인할 수 있습니다.
- 제한 사항: TLS로 암호화된 구간은 키가 없으면 본문을 볼 수 없습니다.
통계 도구
대화(Conversation), 엔드포인트, 프로토콜 계층 통계를 표로 제공합니다.
- 활용 상황: 어느 호스트가 대역폭을 많이 쓰는지, 어떤 프로토콜이 많은지 파악할 때 사용합니다.
- 얻는 결과: 트래픽 구성비와 상위 대화를 한눈에 확인합니다.
- 제한 사항: 요약 통계이므로 개별 패킷의 세부 원인은 별도로 확인해야 합니다.
설치 및 실행
Ubuntu / Debian (저장소 패키지)
배포판 저장소에 포함된 버전을 설치합니다. 최신 기능이 필요하면 공식 PPA나 AppImage를 사용합니다.
sudo apt update
sudo apt install wireshark
sudo dpkg-reconfigure wireshark-common # 일반 사용자 캡처 허용
Windows
공식 설치 파일을 내려받아 설치합니다. 캡처 드라이버인 Npcap을 함께 설치해야 합니다.
1) https://www.wireshark.org/download.html 에서 Windows x64 설치 파일 내려받기
2) 설치 중 Npcap 설치 항목 체크
3) 설치 후 Wireshark 실행 및 인터페이스 선택
macOS / 소스 빌드
공식 배포 패키지 또는 Homebrew를 사용합니다. 소스에서 빌드할 때는 CMake와 개발 라이브러리가 필요합니다.
brew install --cask wireshark
# 또는 공식 소스 문서의 빌드 절차 참고
실제 사용 예제
캡처 파일을 열어 특정 호스트 대화만 보기
미리 저장해 둔 pcapng 파일을 열고 필터 창에 조건을 입력합니다.
필터: ip.addr == 10.0.0.5 && tcp.port == 443
(입력 후 Enter)
통계 > 대화(Conversations)에서 상위 대화 확인
명령줄에서 저장 없이 특정 조건만 확인
GUI를 띄울 수 없는 서버에서는 CLI 도구인 tshark로 같은 캡처를 확인합니다.
sudo tshark -i eth0 -f 'tcp port 443' -c 20
# -f: 커널 필터, -c: 20개 패킷만 캡처
장점과 한계
장점
- 프로토콜 해석 범위가 넓어 대부분의 트래픽을 그대로 읽을 수 있습니다.
- GUI 디스플레이 필터로 수만 개 패킷에서 필요한 대화만 골라낼 수 있습니다.
- 무료이며 GPL 라이선스로 상업 환경에서도 제약 없이 사용할 수 있습니다.
- tshark·dumpcap 같은 명령줄 도구가 함께 제공되어 서버에서도 사용할 수 있습니다.
사용 전에 고려할 점
- 캡처 권한이 필요해 운영 서버에서는 관리자 승인과 주의가 필요합니다.
- 메모리를 많이 사용하므로 대용량 캡처 파일을 한 번에 여는 작업은 부담이 됩니다.
- 프로토콜 구조와 필터 문법에 익숙해지기까지 학습 시간이 필요합니다.
- TLS로 암호화된 트래픽은 세션 키 없이는 본문을 볼 수 없습니다.
비슷한 프로그램과 비교
| 프로그램 | 특징 | 이런 경우에 적합 |
|---|---|---|
| tcpdump | 명령줄 전용 캡처 도구 | 서버에 접속만 가능하고 GUI를 띄울 수 없을 때 |
| tshark | Wireshark의 명령줄 버전 | 스크립트로 캡처·요약을 자동화할 때 |
| iftop | 연결별 대역폭을 화면에 표시 | 패킷 내용이 아니라 트래픽 크기만 빠르게 볼 때 |
공식 자료 및 추가 학습
- 공식 홈페이지 — https://www.wireshark.org/
- 공식 문서 / 지식베이스 — https://www.wireshark.org/docs/wsug_html_chunked/
- 공식 다운로드 — https://www.wireshark.org/download.html
- 릴리스 노트 — https://www.wireshark.org/docs/relnotes/
- 소스 / 개발 자료 — https://gitlab.com/wireshark/wireshark/
- GitHub 저장소 — https://gitlab.com/wireshark/wireshark
버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.
실제 실행 화면
아래 화면은 운영 서버에서 버전을 확인하는 상황을 가정해 만든 합성 예시입니다(실제 실행 결과가 아닙니다). 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.