1. 程式人生 > >tcpdump命令使用實例

tcpdump命令使用實例

pan 常用 tcpdump dump wire 分析 nbsp 信息 問題

tcpdump是抓包命令,用於截取網絡分組並輸出分組內容,常用於網絡問題分析和排查。

tcpdump語法

tcpdump [-i 接口] [-nn] [-w 文件名] [-c 次數] [-Ae][-qX] [想要截取的數據內容]

-i 指定監聽的網絡接口。默認為eth0 
-A 以ASCII格式打印出所有分組,並將鏈路層的頭最小化。 
-c 在收到指定的數量的分組後,tcpdump就會停止。如果沒有這個參數,tcpdump會持續不斷的監聽,直到用戶輸入ctrl+c為止。 
-n 不把網絡地址轉換成名字。
-nn 直接以IP及端口號顯示,而不是主機名與服務名
-s 從每個分組中讀取最開始的snaplen個字節,而不是默認的68個字節。 
-vv 輸出詳細的報文信息。 -w 直接將分組寫入文件中,而不是不分析並打印出來。 -r 從後面接的文件將數據包數據讀出來。這個文件是-w所制作出來的

tcpdump命令帶上指定參數可以更精確的獲取需要的信息,避免截取過多的無用信息。以上是個人常用參數,還有很多參數不一一列出。

常用實例

(1)獲取主機192.168.0.0和主機192.168.0.1的所有分組

tcpdump -i eth1 -A -nn -s 0 -w catch.cap host 192.168.0.0 and host 192.168.0.1

(2)獲取主機192.168.0.0和主機192.168.0.1或192.168.0.2的所有分組

tcpdump -i eth1 -A -nn -s 0 -w catch.cap host 192.168.0.0 and host 192.168.0.1 or 192.168.0.2

(3)獲取主機192.168.0.0、端口號為10005和主機192.168.0.1的所有分組

tcpdump -i eth1 -A -nn -s 0 -w catch.cap port 10005 host 192.168.0.0 and host 192.168.0.1

數據包分析

利用wireshark工具進行分析

常用場景

(1)常聽到的一句話,你抓個包看看?聽到後知道怎麽抓就好,看了上面實例就不會說不會了。

(2)測試某功能不通定位,模塊開發A說我這邊已經發出去了,模塊開發B說我沒收到,兩邊抓個包看看吧。^_^

(3) 測試服務器A與服務器B消息交互時延。

參考資料

1、http://blog.csdn.net/s_k_yliu/article/details/6665673/

tcpdump命令使用實例