tcpdump抓包命令使用

抓包工具使用node

1.做用:linux

(1)捕獲網絡協議包shell

(2)分析網絡協議包express

2.分類:網絡

(1)命令行工具,如tcpdumpless

(2)圖像界面工具,wiresharkdom

3.tcpdump命令行工具的使用tcp

3.1格式:tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ]  [ -s snaplen ] [ -w file ] [ expression ]工具

3.2選項分類命令行

抓包選項

-c指定要抓取的包數量

-i interface指定tcpdump須要監聽的接口,-I 後面直接跟網卡名便可,如-I ens33

-n:對地址以數字方式顯式,不然顯式爲主機名

-nn除了-n的做用外,還把端口顯示爲數值

輸出選項

-e:輸出的每行中都將包括數據鏈路層頭部信息,例如源MAC和目標MAC。

-q:快速打印輸出。即打印不多的協議相關信息,從而輸出行都比較簡短。

-X:輸出包的頭部數據,會以16進制和ASCII兩種方式同時輸出。

-XX:輸出包的頭部數據,會以16進制和ASCII兩種方式同時輸出,更詳細。

-v:當分析和打印的時候,產生詳細的輸出。

-vv:產生比-v更詳細的輸出。

-vvv:產生比-vv更詳細的輸出

其餘功能選項

-D:列出可用於抓包的接口

-F:從文件中讀取抓包的表達式

-w:將抓包數據輸出到文件中而不是標準輸出,如-w node1.cap

-r:從給定的數據包文件中讀取數據。如tcmdump -r node1.cap

4.tcpdump的表達式

tcpdump的表達式由一個或多個"單元"組成,每一個單元通常包含ID的修飾符和一個ID(數字或名稱)。有三種修飾符:

type:指定ID的類型。

能夠給定的值有host/net/port/portrange。例如"host foo","net 128.3","port 20","portrange 6000-6008"。默認的type爲host。

dir:指定ID的方向。

能夠給定的值包括src/dst/src or dst/src and dst,默認爲src or dst。例如,"src foo"表示源主機爲foo的數據包,"dst net 128.3"表示目標網絡爲128.3的數據包,"src or dst port 22"表示源或目的端口爲22的數據包。

proto:經過給定協議限定匹配的數據包類型。

經常使用的協議有tcp/udp/arp/ip/ether/icmp等,若未給定協議類型,則匹配全部可能的類型。例如"tcp port 21","udp portrange 7000-7009"。

因此,一個基本的表達式單元格式爲"proto dir type ID"

tcpdump [選項] [not] proto dir type 注意順序不能改變

除了使用修飾符和ID組成的表達式單元,還有關鍵字表達式單元:gateway,broadcast,less,greater以及算術表達式。

表達式單元之間可使用操做符" and / && / or / || / not / ! "進行鏈接,從而組成複雜的條件表達式。如"host foo and not port ftp and not port ftp-data",這表示篩選的數據包要知足"主機爲foo且端口不是ftp(端口21)和ftp-data(端口20)的包",經常使用端口和名字的對應關係可在linux系統中的/etc/service文件中找到。

另外,一樣的修飾符可省略,如"tcp dst port ftp or ftp-data or domain"與"tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain"意義相同,都表示包的協議爲tcp且目的端口爲ftp或ftp-data或domain(端口53)。

使用括號"()"能夠改變表達式的優先級,但須要注意的是括號會被shell解釋,因此應該使用反斜線"\"轉義爲"()",在須要的時候,還須要包圍在引號中。

5.tcpdump使用案例

5.1抓取離開或進入主機的數據包

 

5.2抓取當前主機與指定主機之間的通訊數據包

5.3抓取當前主機(A)與其它主機通訊IP數據包,但不包含B主機

 

5.4抓取當前主機發送的全部數據包

 

5.5抓取當前主機接收的全部數據包

 

5.6抓取當前主機與指定主機之間指定協議、指定端口的數據包

 

5.7抓取某一網段的包

 

5.8抓取ping包

 

5.9抓取到本機某一端口的包

 

抓NFS服務的包

 

5.10解析捕獲的包

tcpdump -i ens33 -c 2 -q -XX -vvv -nn tcp dst port 22

相關文章
相關標籤/搜索