歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux下抓包命令

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,程序換名了,哈哈。

Copyright © Linux教程網 All Rights Reserved