TCPDump 사용법 총정리: 필터링부터 실전 예제까지

TCPDump 설치 방법

TCPDump는 리눅스 대부분에 기본 포함되어 있으며, 설치가 필요한 경우 아래 명령어를 root 권한으로 실행하세요.

# Ubuntu / Debian
apt-get install tcpdump

# RedHat / CentOS
yum install tcpdump
💡 설치 후에는 tcpdump 명령어를 바로 사용할 수 있으며, which tcpdump로 설치 여부를 확인할 수 있습니다.

 

TCPDump 주요 옵션 정리

옵션설명옵션설명
-i인터페이스 지정-w결과를 파일로 저장
-r저장된 파일 읽기-nDNS 해석 생략
-c패킷 수 제한-AASCII 내용 출력
-XHex + ASCII 출력-s 0전체 패킷 캡처
-tt정확한 타임스탬프-v/-vv/-vvv출력 상세도 증가
-U실시간 출력 flush-eMAC 주소 출력

 

TCPDump 따라하기: 실전 예제 12선

초보자도 쉽게 따라할 수 있도록 상황별 명령어를 정리했습니다. 복붙해서 직접 실행해 보세요!

1. 모든 트래픽 캡처
tcpdump
→ 전체 인터페이스에서 실시간 트래픽 출력

2. eth0에서만 캡처
tcpdump -i eth0

3. 결과를 pcap 파일로 저장
tcpdump -i eth0 -w traffic.pcap
→ 저장된 파일은 GUI 도구인 Wireshark에서 열 수 있습니다.

4. 저장된 파일 보기
tcpdump -r traffic.pcap

5. 특정 포트 트래픽만 보기
tcpdump port 443 → HTTPS
tcpdump port 80 → HTTP
tcpdump port 53 → DNS

tcpdump
tcpdump

6. MAC 주소까지 보기
tcpdump -e -i eth0
→ MAC 주소 확인에 필수

7. HTTP 패킷 ASCII 보기
tcpdump -A port 80

8. 특정 IP 주소 필터링
tcpdump host 192.168.0.1

tcpdump
tcpdump

9. 출발지/목적지 필터링
tcpdump src 192.168.0.1
tcpdump dst 192.168.0.2

tcpdump
tcpdump

10. 복합 필터
tcpdump src 10.0.0.5 and port 22

11. 100개만 캡처
tcpdump -c 100 -i eth0

12. 가장 상세하게 출력
tcpdump -i eth0 -vvv -X
→ 전문가급 분석 가능

 

주의사항

⚠ 반드시 root 권한으로 실행해야 합니다.
네트워크 인터페이스 접근은 보안상 민감한 작업이므로 tcpdump는 일반 사용자 계정에서는 제대로 동작하지 않습니다.

 

Wireshark로 결과 분석하기

Wireshark는 GUI 기반의 패킷 분석 도구로, .pcap 파일을 시각적으로 분석할 수 있습니다.

macOS, Windows, Linux 모두 지원하며, TCPDump와 함께 쓰면 최고의 궁합을 자랑합니다.

 

FAQ

Q: tcpdump는 리눅스에서만 사용할 수 있나요?
A: 대부분의 유닉스 계열 OS에서 사용 가능하며, macOS에서도 설치하여 사용 가능합니다.
Q: 저장된 파일을 꼭 Wireshark로 열어야 하나요?
A: 아니요, tcpdump -r로 CLI에서 분석 가능합니다.
Q: 네트워크 이름 대신 MAC 주소도 볼 수 있나요?
A: -e 옵션을 사용하면 MAC 주소까지 출력됩니다.
Q: 실시간 감시 중 특정 조건만 보려면?
A: 포트, IP, 프로토콜 등을 and/or/not로 조합해 필터링할 수 있습니다.

댓글 남기기