📚 네트워크 · 패킷 분석 › 03. Wireshark 패킷 분석 — 102편
이전 글: 101. tcpdump와 Wireshark — 언제 무엇을 쓰는가 · 다음 글: 103. 패킷 캡처 원리 — NIC·Promiscuous 모드·미러링

1. 개념

Wireshark는 하나의 프로그램이 아니라 여러 도구의 묶음입니다. 도구별 역할과 tcpdump와의 비교는 101. tcpdump와 Wireshark — 언제 무엇을 쓰는가에서 다뤘으므로, 이 글은 "어떻게 설치하고, 어떤 권한으로 실행해야 분석 환경이 안전한가"에만 집중합니다.

구성 요소역할권한 필요 여부
wireshark (GUI)패킷 해석·표시필요 없음 (일반 사용자로 실행)
dumpcap실제 캡처 수행캡처 권한 필요 (그룹·capability로 부여)
tsharkCLI 해석·필드 추출파일 분석만 하면 필요 없음
capinfos, editcap, mergecap파일 정보·편집·병합필요 없음
Npcap (Windows) / libpcap (Linux·macOS)OS에서 패킷을 받아오는 캡처 라이브러리드라이버·라이브러리 설치 시 관리자 권한

핵심은 캡처(dumpcap)와 해석(GUI·tshark)이 분리되어 있다는 점입니다. 복잡한 해석기 코드가 root나 관리자 권한으로 돌지 않도록 설계된 구조입니다.


2. 동작 원리

GUI에서 캡처 시작 버튼을 누르면 내부적으로 다음 흐름이 진행됩니다.

[사용자: 일반 권한] wireshark GUI
        │ 캡처 시작 (인터페이스·캡처 필터 전달)
        ↓
[캡처 권한] dumpcap ── libpcap / Npcap ── NIC
        │ 받은 패킷을 pcapng 형식으로 기록
        ↓
 임시 파일 또는 파이프
        ↓
[사용자: 일반 권한] wireshark 해석기(dissector) → 화면 표시
  • Linux에서는 보통 wireshark 그룹에 속한 사용자만 dumpcap을 실행할 수 있게 하고, dumpcap에 cap_net_raw, cap_net_admin capability를 부여합니다(배포판마다 방식이 다를 수 있음).
  • Windows에서는 Npcap 드라이버가 캡처를 담당합니다. 설치 옵션에 "관리자만 Npcap 드라이버 접근 허용"이 있어, 켜면 캡처할 때마다 관리자 권한 확인이 뜹니다.

3. 주요 특징

OS별 설치 방법을 정리합니다. 버전별 세부 옵션 이름은 달라질 수 있습니다.

OS설치 방법확인할 점
Windowswireshark.org 공식 설치 파일Npcap 함께 설치 여부, USBPcap은 USB 캡처가 필요할 때만
macOS공식 .dmg캡처 권한용 ChmodBPF 구성 요소 설치 여부
Rocky Linux 9dnf install wireshark wireshark-cliGUI는 wireshark, tshark·dumpcap은 wireshark-cli 패키지
Ubuntuapt install wireshark tshark설치 중 "일반 사용자 캡처 허용" 질문

Wireshark를 root(관리자)로 실행하지 않는 이유

구분root로 GUI 실행그룹·capability 방식
해석기 취약점 영향조작된 패킷이 해석기 버그를 건드리면 root 권한으로 코드 실행 위험일반 사용자 권한 범위로 제한
설정 파일 위치root 홈에 저장되어 사용자 설정과 섞임사용자별 설정 디렉터리 사용
권장 여부권장하지 않음공식 문서 권장 방식

4. 예시

실습 예시 — 본인 소유 VM에서 설치 후 권한과 실행을 확인합니다. 명령과 출력은 예시(값은 환경마다 다름)입니다.

# Rocky Linux 9
sudo dnf install -y wireshark wireshark-cli
sudo usermod -aG wireshark $USER        # 재로그인 후 적용

# Ubuntu
sudo apt install -y wireshark tshark
sudo dpkg-reconfigure wireshark-common  # "Yes" 선택 시 일반 사용자 캡처 허용
sudo usermod -aG wireshark $USER

# 공통 확인
id                                      # wireshark 그룹 포함 여부
getcap /usr/bin/dumpcap                 # capability 부여 여부 (없으면 다른 방식일 수 있음)
tshark -v | head -1                     # 버전
dumpcap -D                              # 캡처 가능한 인터페이스 목록
tshark -G folders                       # 개인 설정·전역 설정 디렉터리 위치

실행 방법은 목적에 따라 다릅니다.

wireshark -r /tmp/sample.pcapng                      # 파일 열기 (권한 불필요)
wireshark -r /tmp/sample.pcapng -Y 'dns'             # 열면서 디스플레이 필터 적용
wireshark -i ens33 -k -f 'not port 22'               # 인터페이스 지정, 즉시 캡처 시작, 캡처 필터
wireshark -C SOC-분석                                # 저장해 둔 설정 프로파일로 실행

설치가 끝나면 짧은 캡처로 도구 연동을 확인해 봅니다.

dumpcap -i ens33 -c 20 -w /tmp/check.pcapng
tshark -r /tmp/check.pcapng -T fields \
  -e frame.number -e frame.time_epoch -e frame.len -e frame.protocols

frame.protocols에 eth:ethertype:ip:tcp처럼 계층 목록이 나오면 캡처와 해석이 모두 정상입니다.

📷 [실습 화면 삽입 위치] 일반 사용자 계정으로 실행한 Wireshark 시작 화면에서 인터페이스 목록과 트래픽 스파크라인이 보이는 모습 (인터페이스가 안 보이면 권한 설정 확인)

📷 [실습 화면 삽입 위치] Help → About Wireshark → Folders 탭에서 Personal configuration 경로를 확인하는 화면


5. 보안 관점

  • 해석기는 공격 표면입니다. Wireshark는 수천 개의 프로토콜 해석기를 가지고 있고, 과거 조작된 패킷·pcap으로 해석기가 비정상 종료되거나 취약점이 발견된 사례가 보안 권고(wnpa-sec)로 공개되어 왔습니다. 최신 안정 버전을 유지해야 하는 이유입니다.
  • 설치 파일 무결성: 공식 사이트와 함께 공개되는 해시(SHA256)와 서명 정보로 설치 파일을 검증합니다. 비공식 배포처의 "포터블 버전"은 피합니다.
  • 출처를 알 수 없는 pcap은 인터넷과 분리된 분석 전용 VM에서 엽니다. pcap 자체가 실행 파일은 아니지만, 해석기 취약점과 이름 해석(DNS 역질의)으로 분석 환경이 영향을 받을 수 있습니다(104. Wireshark 화면 구조와 필드 읽는 법에서 이름 해석 끄기 설명).
  • 업무 PC에 캡처 권한을 주는 것은 그 PC에서 네트워크 도청이 가능해진다는 뜻입니다. wireshark 그룹 구성원은 최소로 관리합니다.

6. SOC 관점

흔적 위치확인할 수 있는 것
EDR·프로세스 로그dumpcap.exe, tshark 실행 이력, 실행 사용자
소프트웨어 자산 목록허가되지 않은 단말에 Wireshark·Npcap 설치 여부
Linux 감사 로그·/var/log/secure(Rocky)·/var/log/auth.log(Ubuntu)sudo로 캡처 도구를 실행한 기록, 그룹 변경
인터페이스 상태Promiscuous 모드 진입 로그 (커널 메시지 entered promiscuous mode)

관제자가 확인할 질문

  • 캡처 도구를 실행한 계정과 단말은 분석 업무가 허가된 대상인가?
  • 서버에서 장시간 dumpcap·tcpdump가 돌고 있다면, 누가 어떤 목적으로 실행했는가?
  • 분석 PC의 Wireshark 버전은 알려진 취약점이 수정된 버전인가?

오탐 주의: 네트워크 담당자·보안 담당자의 정상 트러블슈팅, 모니터링 솔루션 내장 캡처 기능도 같은 흔적을 남깁니다. 변경 이력·작업 요청과 대조해 판단합니다. 인터페이스 선택과 Promiscuous 모드의 의미는 103. 패킷 캡처 원리 — NIC·Promiscuous 모드·미러링에서 이어집니다.


7. 핵심 정리

  • Wireshark는 GUI·tshark·dumpcap·캡처 라이브러리(Npcap/libpcap)의 묶음이며, 캡처는 dumpcap이, 해석은 GUI·tshark가 담당합니다.
  • Linux는 wireshark 그룹과 dumpcap capability, Windows는 Npcap 설치 옵션으로 캡처 권한을 제어합니다.
  • GUI를 root·관리자로 실행하지 않고, 파일 분석에는 캡처 권한이 필요 없다는 점을 기억합니다.
  • dumpcap -D, tshark -v, tshark -G folders, 짧은 캡처 후 frame.protocols 추출로 설치 상태를 확인합니다.
  • 해석기 취약점 때문에 버전을 최신으로 유지하고, 출처 불명 pcap은 격리된 VM에서 엽니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글