用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。 tcpdump能夠將網絡中傳送的數據包的「頭」徹底截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。
tcpdump存在於基本的FreeBSD系統中,因爲它須要將網絡界面設置爲混雜模式,普通用戶不能正常執行,但具有root權限的用戶能夠直接執行它來獲取網絡上的信息。所以系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其餘計算機的安全存在威脅。html
tcpdump tcp -i eth0 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.69.126 -w ./target.cap
linux
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型
(2)-i eth0 : 只抓通過接口eth0的包
(3)-t : 不顯示時間戳
(4)-s 0 : 抓取數據包時默認抓取長度爲68字節。加上-S 0 後能夠抓到完整的數據包
(5)-c 100 : 只抓取100個數據包
(6)dst port ! 22 : 不抓取目標端口是22的數據包
(7)src net 172.16.69.126 : 數據包的源網絡地址爲172.16.69.126
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析安全
運行tcpdump命令出現錯誤信息排除網絡
tcpdump: no suitable device found
tcpdump: no devices found /dev/bpf4: A file or directory in the path name does not exist.
解決方案 2種緣由:
1.權限不夠,通常不通過處理,只用root用戶能使用tcpdump
2.缺省只能同時使用4個tcpdump,如用完,則報此類錯。須要停掉多餘的tcpdumptcp