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
'IT > 리눅스' 카테고리의 다른 글
리눅스 DSR (Direct Server Return) 설정 방법 (0) | 2025.02.15 |
---|---|
CentOS 7 / RedHat 7 rc.local 활성화 및 설정 방법 (0) | 2025.02.15 |
리눅스 반복 명령어 실행 (while true 반복문) (0) | 2025.02.15 |
리눅스 내부망 프록시 서버 설정 방법 (0) | 2025.02.15 |
리눅스 오래된 파일 찾기 및 삭제 (커맨드, 스크립트) (0) | 2025.02.15 |