Tcpdump介紹
用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。 tcpdump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。
tcpdump存在於基本的FreeBSD系統中,由於它需要將網絡界面設置為混雜模式,普通用戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。
步驟
1. 使用nmap掃描目標主機,可以查看到開放的端口有哪些
2. 使用如下命令,將抓到的數據包放到.cap文件中,便於wireshark的分析。
tcpdump tcp -i eth0 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.69.126 -w ./target.cap
(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)分析
3. 用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,如用完,則報此類錯。需要停掉多余的tcpdump