歡迎您光臨本站 註冊首頁

linux下抓包命令

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
tcpdump是一個Sniffer工具,實際上就是一個網路上的抓包工具,同時還可以對抓到的包進行分析.一般系統都默認安裝.相關介紹及安裝說明可參見: Tcpdump的安裝和使用.
tcpdump命令說明:
tcpdump採用命令行方式,它的命令格式為:
tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]
[ -i 網路介面 ] [ -r 文件名] [ -s snaplen ]
[ -T 類型 ] [ -w 文件名 ] [表達式 ]
tcpdump的選項介紹:
-a    將網路地址和廣播地址轉變成名字;
-d    將匹配信息包的代碼以人們能夠理解的彙編格式給出;
-dd    將匹配信息包的代碼以c語言程序段的格式給出;
-ddd   將匹配信息包的代碼以十進位的形式給出;
-e    在輸出行列印出數據鏈路層的頭部信息;
-f     將外部的Internet地址以數字的形式列印出來;
-l     使標準輸出變為緩衝行形式;
-n    不把網路地址轉換成名字;
-t     在輸出的每一行不列印時間戳;
-v    輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
-vv    輸出詳細的報文信息;
-c    在收到指定的包的數目后,tcpdump就會停止;
-F    從指定的文件中讀取表達式,忽略其它的表達式;
-i     指定監聽的網路介面;
-r     從指定的文件中讀取包(這些包一般通過-w選項產生);
-w    直接將包寫入文件中,並不分析和列印出來;
-T    將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程 調用)和snmp(簡單網路管理協議;)
-s 設置抓包大小限制,默認抓包大小限制在96個BYTE(包括乙太網幀).修改參數為:-s 0.0 則忽略包的大小限制,按包的長度實際長度抓取.


例:tcpdump -vv tcp port 5270 -c 100 -s 1500 -w /opt/sniffer.pack
tcpdump 的抓包保存到文件的命令參數是-w xxx.cap
抓eth1的包
tcpdump -i eth1 -w /tmp/xxx.cap

抓 192.168.1.123的包
tcpdump -i eth1 host 192.168.1.123 -w /tmp/xxx.cap

抓192.168.1.123的80埠的包
tcpdump -i eth1 host 192.168.1.123 and port 80 -w /tmp/xxx.cap

抓192.168.1.123的icmp的包
tcpdump -i eth1 host 192.168.1.123 and icmp -w /tmp/xxx.cap

抓192.168.1.123的80埠和110和25以外的其他埠的包
tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap

抓vlan 1的包
tcpdump -i eth1 port 80 and vlan 1 -w /tmp/xxx.cap

抓pppoe的密碼
tcpdump -i eth1 pppoes -w /tmp/xxx.cap



以100m大小分割保存文件, 超過100m另開一個文件 -C 100m

抓10000個包後退出 -c 10000


後台抓包, 控制台退出也不會影響:
nohup tcpdump -i eth1 port 110 -w /tmp/xxx.cap &

抓下來的文件可以直接用ethereal 或者wireshark打開. wireshark就是新版的ethereal,程序換名了,哈哈.


[火星人 ] linux下抓包命令已經有422次圍觀

http://coctec.com/docs/linux/show-post-48323.html