歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux下網絡抓包命令tcpdump詳解

Linux下網絡抓包命令tcpdump詳解

日期:2017/3/2 9:53:57   编辑:關於Linux

tcpdump采用命令行方式,它的命令格式為:
  tcpdump[ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]
          [ -i 網絡接口 ] [ -r 文件名] [ -s snaplen ]
          [ -T 類型 ] [ -w 文件名 ] [表達式 ]   

-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(簡單網絡管理協議;)

示例:

1、如果要抓eth0的包,命令格式如下:

tcpdump -i eth0 -w /tmp/eth0.cap

2、如果要抓192.168.1.20的包,命令格式如下:

tcpdump -i etho host 192.168.1.20 -w /tmp/temp.cap

3、如果要抓192.168.1.20的ICMP包,命令格式如下:

tcpdump -i etho host 192.168.1.20 and icmp -w /tmp/icmp.cap

4、如果要抓192.168.1.20的除端口10000,10001,10002以外的其它包,命令格式如下:

tcpdump -i etho host 192.168.1.20 and ! port 10000 and ! port 10001 and ! port 10002 -w /tmp/port.cap

5、假如要抓vlan 1的包,命令格式如下:

tcpdump -i eth0 port 80 and vlan 1 -w /tmp/vlan.cap

6、假如要抓pppoe的密碼,命令格式如下:

tcpdump -i eht0 pppoes -w /tmp/pppoe.cap

7、假如要抓eth0的包,抓到10000個包後退出,命令格式如下:

tcpdump -i eth0 -c 10000 -w /tmp/temp.cap

8、在後台抓eth0在80端口的包,命令格式如下:

nohup tcpdump -i eth0 port 80 -w /tmp/temp.cap &

########################

自己用的命令::tcpdump -i eth0 -w /tmp/eth0.cap -s0 否則抓的包不全,沒有內容

Copyright © Linux教程網 All Rights Reserved