tcpdump 사용법
tcpdump 기본 사용법
# tcpdump -i eth0 => 특정 ethernt(eth0) 으로 송수신 되는 데이터 패킷 덤프하여 확인
# tcpdump -i eth0 -w TCPDUMP => 특정 ethernet으로 송수신 되는 패킷들 파일에 저장 및 확인
# tcpdump -r TCPDUMP => TCPDUMP에 저장된 패킷헤드들을 확인
# tcpdump -i eth0 -c 10 => 특정 ethernet에서 지정한 개수만큼의 네트워크 패킷 덤프하여 확인
[[주로 사용하는 방법!!!]]
# tcpdump -w tcpdump.log -s 1500 tcp port 22 and host 192.168.0.1
=> 서버의 특정포트로 송수신되는 모든 데이터패킷 전체를 확인
이 명령의 의미는 현재 로컬서버와 192.168.0.00서버사이의 통신데이터패킷 중 tcp 22번포트의
모든 패킷을 1500길이로 캡쳐하여 tcpdump.log파일에 저장
# tcpdum -Xqnr tcpdump.log => 캡쳐한 tcpdump.log파일의 내용을 ASCII모드로 확인
# tcpdump -q \( dst net 1.2.3.0/24 or 1.2.4.0/25 \) and dst port 80
; 목적지 주소가 1.2.3.x/24 와 1.2.4.x/25 이고 80번포트인 패킷 캡쳐
- # tcpdump host A
; A 호스트로/부터의 모든 도착/출발 패킷 출력
- # tcpdump host A and \( B or C \)
; A 호스트와 B 또는 C 사이의 모든 트래픽 출력
- # tcpdump ip host A and not B
; A호스트와 B를 제외한 호스트 간의 모든 IP 패킷 출력
- # tcpdump net ucb-ether
; 로컬호스트와 Berkeley의 호스트들 간의 모든 트래픽 출력
- # tcpdump 'gateway A and (port ftp or ftp-data)'
; 게이트웨이 A를 통한 모든 ftp 트래픽 출력
- # tcpdump ip and not net
; 로컬네트워크로/부터가 아닌 모든 트래픽 출력
- # tcpdump 'tcp[13] & 3 != 0 and not src and dst net '
; 로컬네트워크가 아닌 TCP 시작과 마지막 패킷 출력
- # tcpdump 'gateway A and ip[2:2] > 576'
; 게이트웨이 A를 통해 보내지는 576 Bytes보다 긴 IP 패킷 출력
- # tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
; 이더넷이 아닌 IP 브로드 또는 멀티 캐스트 패킷 출력
- # tcpdump 'icmp[0] != 8 and icmp[0] != 0'
; echo 요청/응답이 아닌 모든 ICMP 패킷 출력 (ping 아닌 패킷)
- # tcpdump src net 1.2.3 or 1.2.4 and not dst net 1.2.3 or 1.2.4
; 1.2.3 과 1.2.4 IP주소 (내부) 패킷을 제외한 모든 패킷 출력
- # tcpdump -i br1
; br1 인터페이스의 모든 패킷 출력