--- title: Wireshark — 네트워크 분석 및 진단 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: GUI·CLI로 트래픽을 캡처하고 프로토콜 단위로 분석하는 대표 패킷 분석 도구. 공식 문서·버전·설치 안내와 예제를 정리. tags: 프로그램, 네트워크 분석 및 진단, wireshark --- 네트워크 트래픽을 캡처해 프로토콜 단위로 분석하는 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/ - [공식 문서 / 지식베이스](https://www.wireshark.org/docs/wsug_html_chunked/) — https://www.wireshark.org/docs/wsug_html_chunked/ - [공식 다운로드](https://www.wireshark.org/download.html) — https://www.wireshark.org/download.html - [릴리스 노트](https://www.wireshark.org/docs/relnotes/) — https://www.wireshark.org/docs/relnotes/ - [소스 / 개발 자료](https://gitlab.com/wireshark/wireshark/) — https://gitlab.com/wireshark/wireshark/ - [GitHub 저장소](https://gitlab.com/wireshark/wireshark) — https://gitlab.com/wireshark/wireshark 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 아래 화면은 운영 서버에서 버전을 확인하는 상황을 가정해 만든 합성 예시입니다(실제 실행 결과가 아닙니다). 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![Wireshark 버전과 캡처 인터페이스 확인 예시](https://games.cursorai.co.kr/assets/wireshark-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/apps/network/wireshark.html