情形一、采集指定網絡接口和端口的數據包
sudo tcpdump -s 0 -x -n -tttt -i bond0 port 55944 -w /tmp/mysql_tmp.tcp
情形二、采集指定ip(來源或目標)和網絡接口的數據包
sudo tcpdump -s 0 -x -n -tttt -i bond0 host 10.15.189.191 -w /tmp/mysql_3.tcp
情形三、采集多個ip(來源或目標)和網絡接口的數據包
sudo tcpdump -s 0 -x -n -tttt -i bond0 \(host 192.168.1.10 or host 192.168.1.11\) -w /tmp/mysql_3.tcp
ps:使用()一定要用 \ 轉義。
情形四、采集指定協議、網絡接口和端口的數據包
sudo tcpdump -s 0 -x -n -tttt tcp -i eth0 port 55944 -w /tmp/mysql_tmp1.tcp
sudo tcpdump -s 0 port 55944 and dst 10.15.72.125 -x -n -tttt -C 256 -w /tmp/tcpdump_$(date +"%Y%m%d-%H%M%S").pcap
tcpdump過濾語句介紹:
過濾表達式大體可以分成三種過濾條件,“類型”、“方向”和“協議”,這三種條件的搭配組合就構成了我們的過濾表達式。
1、關於類型的關鍵字,主要包括host,net,port。
例如 host 210.45.114.211,指定主機 210.45.114.211,net 210.11.0.0 指明210.11.0.0是一個網絡地址,port 21 指明
端口號是21。如果沒有指定類型,缺省的類型是host.
2、關於傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst and src ,這些關鍵字指明了傳輸的方向。
舉例說明,src 210.45.114.211 ,指明ip包中源地址是210.45.114.211, dst net 210.11.0.0 指明目的網絡地址是210.11.0.0 。如果沒有指明
方向關鍵字,則缺省是src or dst關鍵字。
3、關於協議的關鍵字,主要包括ip,ip6,arp,rarp,tcp,udp等類型。
這幾個的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有協議的信息包。
數據包查看方法:
將tcpdump導出的數據包,通過sz命令導出本機,通過wireshark查看。
sudo tcpdump -s 0 port 55944 -x -n -tttt -C 256 -w /tmp/tcpdump_$(date +"%Y%m%d-%H%M%S").pcap
-s 0 表示不限制包的大小,默認是65535
-n 不做主機名解析
-tttt 輸入出時間格式
-C 256 256MB 自動打一個包
-x 輸出完整的內容