一、Tcpdump主要有三種類型的關鍵字:
第一種:關於類型。
主要包括host,net,port,沒有指定類型默認爲host。host指明IP、net指定網絡地址、port指定端口。
第二種:確定傳輸方向。
主要包括 src,dst,dst or src,dst and src。默認是src or dst。舉例 src 1.1.1.1,指明ip包的源地址是1.1.1.1。dst port 80,指明目的端口是80。
第三種:關於協議。
主要包括 fddi,ip,arp,tcp,udp。默認監聽所有協議(fddi相當於ether包)。
除了以上三種類型關鍵字,還有其他例如gateway、broadcast、less、greater。還有三種邏輯運算符:
取非運算:not 和 !
與運算:and 和 &&
或運算:or 和 ||
二、Tcpdump的主要參數:
-nn:直接以IP和Port顯示。
-i:需要監聽的網絡接口,例如eth0。
-w:將抓包結果保留到文件中,後面接文件名(後綴一般爲.pcap,常用於Wireshark分析)。
-c:需要抓取的包數。
-r:讀取抓包文件,這個文件-w生成。
-X:顯示頭和封包內容。
-v:顯示稍微詳細信息,例如ip包中的ttl和服務類型。
-s:截取字節數,0表示包不截斷,默認顯示部分數據包爲68字節。
舉例:
1、tcpdump host 1.1.1.1
2、tcpdump host 1.1.1.1 and \ ( 2.2.2.2 or 3.3.3.3 \ )
3、tcpdump ip host 1.1.1.1 and ! 2.2.2.2 ##抓取主機1.1.1.1除了和主機2.2.2.2 之外所有主機通信的ip包。
4、tcpdump tcp host 1.1.1.1 and port 80
5、tcpdump -i eth0 gateway 1.1.1.1 ##通過指定網關的數據包。
6、tcpdump -i eth src host 1.1.1.1 and dst host 2.2.2.2 and dst port 80 -w txt.pacp