본문 바로가기
IT/리눅스

리눅스 tcpdump 효율적인 사용법 및 추가 설명

by JGSHIN 2025. 2. 15.
SMALL

1️⃣ tcpdump 기본 개념

tcpdump는 네트워크 패킷을 캡처하고 분석할 수 있는 강력한 도구입니다. 네트워크 인터페이스를 통해 주고받는 패킷을 실시간으로 확인할 수 있으며, 특정 조건을 지정하여 원하는 트래픽만 필터링할 수 있습니다.


2️⃣ 기본 명령어

✅ 네트워크 인터페이스 확인

 
tcpdump -D
  • 사용 가능한 네트워크 인터페이스 목록을 확인
 
tcpdump -i eth0
  • eth0 인터페이스의 패킷을 실시간으로 모니터링

3️⃣ 효율적인 패킷 캡처

✅ 패킷 저장 및 읽기

 
tcpdump -i eth0 -w capture.pcap
  • capture.pcap 파일로 패킷 저장 (Wireshark에서 열기 가능)
 
tcpdump -r capture.pcap
  • 저장된 패킷을 다시 읽어 분석

4️⃣ 패킷 필터링 (효율적인 사용)

✅ IP 필터링

 
tcpdump -i eth0 host 192.168.1.10
  • 192.168.1.10과 관련된 모든 트래픽(송신 및 수신) 캡처
 
tcpdump -i eth0 src 192.168.1.10
  • 192.168.1.10이 출발지인 패킷만 캡처
 
tcpdump -i eth0 dst 192.168.1.10
  • 192.168.1.10이 목적지인 패킷만 캡처

✅ 포트 필터링

 
tcpdump -i eth0 port 80
  • TCP/UDP 80번 포트와 관련된 패킷 캡처 (HTTP 트래픽)
 
tcpdump -i eth0 src port 443
  • 443번 포트에서 송신된 패킷만 캡처 (HTTPS 송신 트래픽)
 
tcpdump -i eth0 dst port 22
  • 22번 포트로 수신된 패킷만 캡처 (SSH 수신 트래픽)

✅ 여러 조건을 조합 (and, or, not 연산자 사용)

 
tcpdump -i eth0 src 192.168.1.10 and dst port 443
  • 192.168.1.10이 출발지이고 목적지 포트가 443인 패킷만 캡처 (HTTPS 요청)
 
tcpdump -i eth0 port 80 or port 443
  • 80번 포트(HTTP) 또는 443번 포트(HTTPS)와 관련된 패킷 캡처
 
tcpdump -i eth0 not port 22
  • 22번 포트(SSH)를 제외한 모든 패킷 캡처

5️⃣ 추가적인 고급 사용법

✅ 패킷 개수 제한 (-c 옵션)

 
tcpdump -i eth0 -c 50
  • 50개의 패킷만 캡처 후 종료

✅ 특정 프로토콜 필터링

 
tcpdump -i eth0 icmp
  • ICMP (Ping) 패킷만 캡처
 
tcpdump -i eth0 arp
  • ARP 패킷만 캡처
 
tcpdump -i eth0 udp
  • UDP 트래픽만 캡처

✅ 패킷 내용을 읽기 쉽게 표시 (-X, -A 옵션)

 
tcpdump -i eth0 -A port 80
  • HTTP 요청과 같은 패킷의 내용을 ASCII 문자로 출력 (텍스트 기반 프로토콜 분석 시 유용)
 
tcpdump -i eth0 -X port 443
  • HTTPS 요청을 포함한 패킷 내용을 16진수(HEX) 및 ASCII 형식으로 출력 (암호화되지 않은 데이터 분석)

✅ 특정 문자열 포함된 패킷 찾기

 
tcpdump -i eth0 port 80 -A | grep "User-Agent"
  • HTTP User-Agent 정보를 포함한 패킷만 필터링
 
tcpdump -i eth0 -A port 80 | grep "password"
  • 네트워크 상에서 암호화되지 않은 패스워드가 전송되는지 확인

6️⃣ 캡처한 패킷 분석하기

✅ Wireshark로 패킷 분석

tcpdump로 저장한 capture.pcap 파일을 Wireshark에서 열어 상세 분석 가능

 
tcpdump -i eth0 -w capture.pcap wireshark capture.pcap

📌 결론 (효율적인 사용 요약)

목적명령어 예시

특정 인터페이스 모니터링 tcpdump -i eth0
패킷 저장 후 분석 tcpdump -i eth0 -w capture.pcap
저장된 패킷 읽기 tcpdump -r capture.pcap
특정 IP 필터링 tcpdump -i eth0 host 192.168.1.10
특정 포트 필터링 tcpdump -i eth0 port 443
송신/수신 패킷 필터링 tcpdump -i eth0 src 192.168.1.10 / tcpdump -i eth0 dst 192.168.1.10
프로토콜 필터링 tcpdump -i eth0 icmp / tcpdump -i eth0 udp
패킷 내용을 읽기 쉽게 출력 tcpdump -i eth0 -A / tcpdump -i eth0 -X
특정 문자열 포함 패킷 찾기 `tcpdump -i eth0 -A
특정 개수만 캡처 tcpdump -i eth0 -c 100

🚀 마무리

  • tcpdump는 네트워크 트래픽을 실시간으로 분석하는 강력한 도구
  • 다양한 필터링 옵션을 사용하면 불필요한 패킷을 제거하고 원하는 트래픽만 분석 가능
  • Wireshark와 연계하여 더 심층적인 분석 가능
LIST
📧 이메일 문의
by @ 2025 JGSHIN