tcpdump 사용법
/usr/sbin/tcpdump -s 1500 -i eth0 -C 20 -Z root -w /root/tcpdump/tcc.pcap &
/usr/sbin/tcpdump -s 1500 -i eth1 -C 20 -Z root -w /root/tcpdump/tcc.pcap &
tcpdump -s 1500 -i eth0 -C 10 -W 100 -F agw_list.txt -w /root/capture/capture.pcap
-------------------------------------------------------------------------------------------------------------
tcpdump -nn -i eth0 -s 1500 -C 20 -W 20 -Z root host 123.123.123.123 -w /root/tcpdump/6509A.pcap &
tcpdump -nn -i eth0 -s 1500 -C 20 -W 20 -Z root host 123.123.123.123 -w /root/tcpdump/6509B.pcap &
-------------------------------------------------------------------------------------------------------------
tcpdump -i eth0 -s 1500 -C 20 -W 20 -Z root host 123.123.123.123 -w /root/tcpdump/C6509A.pcap &
tcpdump -i eth0 -s 1500 -C 20 -W 20 -Z root host 123.123.123.123 -w /root/tcpdump/C6509B.pcap &
-------------------------------------------------------------------------------------------------------------
promiscuous mode 라는 것은 해당 인터페이스로 들어오는 네트웍 내의 모든 패킷을 받겠다는 의미이다.
보통의 경우는 자기에게 오는 패킷만 받는데, tcpdump 시에는 모든 패킷을 받아서 분석하기 위해서 해당 모드로 변경되는 듯하다.
네트웍 상의 패킷 분석이나 스니핑 공격을 위해서는 모든 패킷을 받도록 하는 설정이 필요하다.
해당 인터페이스를 promisc 모드로 설정하려면,
# ifconfig eth0 promisc
설정 해제 하려면,
# ifconfig eth0 -promisc
agw_list.txt
=> (host 182.237.205.6) or (host 124.46.231.2)
10M 단위로 마지막 파일 100개만 기록..
tcpdump -i eth0 -s 1500 -C 20 -W 20 -w 182.237.219.4.pcap 'host 182.237.219.4' => 20M 파일 사이즈로 마지막 20개만 저장
tcpdump -i eth0 -w 10.103.203.125.pcap host 10.103.203.125
tcpdump -s 1500 -C 20 host 182.237.219.4 -w /root/TCPDUMP/tcpdata/182.237.219.4.pcap [-C 20 : 20M 단위로 파일저장]
tcpdump -s 1500 host 10.38.240.212 -w test.pcap
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 -w trapmessage.pcap -s 1500 udp port 162 and host 220.64.28.66
# 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 인터페이스의 모든 패킷 출력
tcpdump -nni eth0 -e icmp[icmptype] == 8 and host 123.108.176.4 -w 123.108.176.4.pcap
tcpdump -i eth0 icmp and host 123.108.176.4 -w 123.108.176.4.pcap
'리눅스' 카테고리의 다른 글
리눅스 hosts.allow , deny (0) | 2018.11.12 |
---|---|
[리눅스 iptables] port 열기 방화벽 켜고 끄기 (0) | 2018.11.12 |
php 5.6 in CentOS 6.X(6.8) (0) | 2018.11.12 |
리눅스 씨리얼 serial 확인 (0) | 2018.11.12 |
리눅스 반복 예약작업 cron, crond, crontab (0) | 2018.11.12 |