CHAPTER 08 · NETWORK

패킷을 직접
열어보자

tcpdump와 Wireshark로 통신을 캡처하고 DNS·TCP·HTTP 흐름을 직접 확인합니다.

읽는 시간 약 16분Wireshark · tcpdump · Filter · PCAP · Analysis초안
DRAFT마스터가 읽고 수정할 내용을 찾기 위한 초안입니다. 이미지 후보 영역은 실제 이미지를 추가하면 교체됩니다.
NETWORK STUDY NOTE패킷을 직접 열어보자Wireshark · tcpdump · Filter · PCAP · Analysis

01

패킷은 거짓말을 하지 않는다

로그가 프로그램의 기록이라면 패킷 캡처는 실제로 네트워크를 오간 데이터를 기록합니다.

tcpdump는 터미널에서 빠르게 캡처하고 필터링하기 좋고, Wireshark는 각 헤더와 통신 흐름을 시각적으로 분석하기 좋습니다.

캡처에는 계정 정보와 세션 등 민감한 데이터가 포함될 수 있으므로 허가받은 환경에서만 수집하고 안전하게 보관해야 합니다.

직접 확인해 보기
$ sudo tcpdump -D $ sudo tcpdump -ni any $ sudo tcpdump -ni eth0 -w capture.pcap
IMAGE IDEA추천 이미지: 현장 CCTV 또는 블랙박스를 다시 확인하는 장면

02

필요한 대화만 골라 듣기

트래픽이 많을 때는 캡처 필터와 화면 필터를 이용해 분석 범위를 줄입니다.

host 192.168.0.30특정 IP
port 53특정 포트
tcp port 443HTTPS TCP
udp and port 53DNS UDP
src host 10.0.0.5특정 출발지
직접 확인해 보기
$ sudo tcpdump -ni any host 192.168.0.30 $ sudo tcpdump -ni any port 53 $ sudo tcpdump -nn -r capture.pcap

03

DNS부터 TCP 연결까지 따라가기

브라우저에서 사이트를 열면 먼저 DNS로 IP를 찾고, TCP 연결을 맺은 뒤 애플리케이션 데이터를 주고받습니다.

Wireshark 화면 필터 dns로 질의 이름과 응답 IP를 확인합니다. 이어서 tcp.flags.syn == 1로 3-way handshake를 찾고, tcp.stream eq 번호로 하나의 연결만 추적합니다.

HTTP는 평문이면 요청 내용을 볼 수 있지만 HTTPS는 TLS로 암호화되어 내용 대신 주소, 포트, 인증서, 크기와 시간 같은 메타데이터를 중심으로 분석합니다.

직접 확인해 보기
$ dns $ tcp.flags.syn == 1 $ tcp.stream eq 0 $ http $ tls $ ip.addr == 192.168.0.30

04

좋은 분석은 시간순으로 설명한다

패킷 하나만 보고 결론을 내리기보다 요청과 응답, 앞뒤 흐름을 연결해야 합니다.

누가 언제 누구에게 어떤 프로토콜과 포트로 요청했고, 상대가 어떻게 응답했는지를 시간순으로 정리합니다.

재전송, 중복 ACK, RST, ICMP 오류, 비정상적으로 반복되는 연결 시도는 장애나 공격의 단서가 될 수 있습니다.

출발지·목적지통신 주체
시간 간격지연과 반복
TCP Flags연결 상태
Length데이터 크기
Info요청과 응답 요약
패킷을 많이 보는 것보다 정상 흐름을 먼저 익히는 것이 중요하다. 정상을 알아야 비정상을 발견할 수 있다.

CHAPTER REVIEW

이번 장에서 기억할 한 문장

캡처는 사실을 기록하고, 필터는 필요한 대화를 찾으며, 분석은 시간과 주소와 흐름을 연결하는 일이다.