TcpDump是Linux中強大的網絡數據採集分析工具之一。根據使用者的定義對網絡上的數據包進行截獲的包分析工具。 基本上tcpdump的總的輸出格式爲:系統時間 來源主機.端口 > 目標主機.端口 數據包參數
下面舉例說明:
Tcpdump src host 192.168.0.1 and dst port not telnet
過濾源主機192.168.0.1和目的端口不是telnet的報頭。
ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。
例如:
tcpdump ip src…
只過濾數據-鏈路層上的IP報頭。
tcpdump udp and src host 192.168.0.1
只過濾源主機192.168.0.1的所有udp報頭。
數據顯示/輸入輸出
TcpDump提供了足夠的參數來讓我們選擇如何處理得到的數據,如下所示:
-l 可以將數據重定向:
如tcpdump -l >tcpcap.txt將得到的數據存入tcpcap.txt文件中。
-n 不進行IP地址到主機名的轉換:
如果不使用這一項,當系統中存在某一主機的主機名時,TcpDump會把IP地址轉換爲主機名顯示,就像這樣:eth0 < ntc9.1165> router.domain.net.telnet,使用-n後變成了:eth0 < 192.168.0.9.1165 > 192.168.0.1.telnet。
-nn 不進行端口名稱的轉換:
上面這條信息使用-nn後就變成了:eth0 < ntc9.1165 > router.domain.net.23。
-N 不打印出默認的域名:
還是這條信息-N 後就是:eth0 < ntc9.1165 > router.telnet。
-O 不進行匹配代碼的優化。
-t 不打印UNIX時間戳,也就是不顯示時間。
-tt 打印原始的、未格式化過的時間。
-v 詳細的輸出,也就比普通的多了個TTL和服務類型。