1.常見參數 tcpdump -i eth0 -nn -s0 -v port 80 -i 選擇監控的網卡 -nn 不解析主機名和埠號,捕獲大量數據,名稱解析會降低解析速度 -s0 捕獲長度無限制 -v 增加輸出中顯示的詳細信息量 port 80 埠過濾器,只捕獲80埠的流量,通常是HTTP 2... ...
1.常見參數 tcpdump -i eth0 -nn -s0 -v port 80 -i 選擇監控的網卡 -nn 不解析主機名和埠號,捕獲大量數據,名稱解析會降低解析速度 -s0 捕獲長度無限制 -v 增加輸出中顯示的詳細信息量 port 80 埠過濾器,只捕獲80埠的流量,通常是HTTP 2. tcpdump -A -s0 port 80 -A 輸出ASCII數據 -X 輸出十六進位數據和ASCII數據 3. tcpdump -i eth0 udp udp 過濾器,只捕獲udp數據 proto 17 協議17等效於udp proto 6 等效於tcp 4. tcpdump -i eth0 host 10.10.1.1 host 過濾器,基於IP地址過濾 5. tcpdump -i eth0 dst 10.105.38.204 dst 過濾器,根據目的IP過濾 src 過濾器,根據來源IP過濾 6. tcpdump -i eth0 -s0 -w test.pcap -w 寫入一個文件,可以在Wireshark中分析 7. tcpdump -i eth0 -s0 -l port 80 | grep 'Server:' -l 配合一些管道命令的時候例如grep 8. 組合過濾 and or && or or || not or ! 9. 快速提取HTTP UA tcpdump -nn -A -s1500 -l | grep "User-Agent:" 使用egrep 匹配 UA和Host tcpdump -nn -A -s1500 -l | egrep -i 'User-Agent:|Host:' 10. 匹配GET的數據包 tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' 匹配POST包,POST的數據可能不在包里 tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' 11. 匹配HTTP請求頭 tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:" 匹配一些POST的數據 tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:" 匹配一些cookie信息 tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:' 12. 捕獲DNS請求和響應 tcpdump -i eth0 -s0 port 53 13. 使用tcpdump捕獲併在Wireshark中查看 使用ssh遠程連接伺服器執行tcpdump命令,併在本地的wireshark分析 ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i - ssh [email protected] 'sudo tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i - 14. 配合shell獲取最高的IP數 tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20 15.捕獲DHCP的請求和響應 tcpdump -v -n port 67 or 68