• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

15-網絡管理和監控配置指導

目錄

22-Packet Capture配置

本章節下載 22-Packet Capture配置  (305.00 KB)

22-Packet Capture配置


1 Packet Capture

1.1  Packet Capture簡介

Packet Capture是一種報文捕獲及分析特性,使用該功能能夠捕獲設備接口的入方向報文並對報文進行解析處理,便於用戶分析接口接收到的報文;還可以將報文數據存儲為pcap格式的文件,方便用戶後續查看。

1.1.1  報文捕獲類型

目前支持兩種報文捕獲類型:本地報文捕獲和遠程報文捕獲。

1. 本地報文捕獲

本地報文捕獲功能可以將捕獲的報文自動上傳到FTP服務器或存儲在設備存儲介質中。

2. 遠程報文捕獲

遠程報文捕獲功能用於將設備上捕獲的報文直接發送給遠端客戶端,客戶端上需安裝了報文捕獲軟件(例如Wireshark),由客戶端來解析並展示捕獲結果。

1.1.2  過濾規則的構成

Packet Capture可以使用過濾表達式指定過濾規則,對需要捕獲、顯示的報文進行過濾,僅捕獲、顯示用戶關心的報文。

過濾規則由關鍵字和操作符組合而成:

·     關鍵字又分為:

¡     常量關鍵字:該類關鍵字為固定的字符串。使用時,用戶需完整輸入該關鍵字。

¡     變量關鍵字:該類關鍵字形式固定,但內容可變。用戶可自定義該關鍵字的取值。

·     操作符分為邏輯操作符、運算操作符、比較操作符。

關於捕獲過濾規則的詳細介紹請參見網頁:https://wiki.wireshark.org/CaptureFilters。

關於顯示過濾規則的詳細介紹請參見網頁:https://wiki.wireshark.org/DisplayFilters。

1.2  構建捕獲過濾規則

1.2.1  捕獲過濾規則關鍵字

1. 常量關鍵字

表1-1 常量關鍵字

常量關鍵字類型

描述

關鍵字

協議

捕獲指定協議的報文

如果沒有指明協議類型,則捕獲Packet Capture支持的所有協議的報文

支持的協議有:arp、icmp、ip、ip6、tcp、udp等

報文傳輸方向

捕獲指定傳輸方向的報文

如果沒有指定本關鍵字,缺省報文傳輸方向為源或目的方向。比如port 23等價於src or dst port 23

·     src:表示源方向

·     dst:表示目的方向

·     src or dst:表示源或目的方向

報文傳輸方向類型

捕獲指定的報文傳輸方向類型的報文

如果沒有指定本類關鍵字,缺省報文傳輸方向類型為主機。比如src 2.2.2.2 等價於src host 2.2.2.2

·     host:表示主機

·     net:表示網段

·     port:表示端口號

·     portrange:表示端口號範圍

特殊關鍵字

-

·     broadcast:表示捕獲廣播報文

·     multicast:表示捕獲組播報文、廣播報文

·     less:表示小於等於

·     greater:表示大於等於

·     len:表示報文長度

·     vlan:表示捕獲VLAN報文

 

2. 變量關鍵字

捕獲過濾規則的變量關鍵字不可以單獨使用,其前需要使用常量關鍵字對其進行修飾。

協議類型常量關鍵字、broadcast和multicast關鍵字不能對變量關鍵字進行修飾。其它的常量關鍵字不可單獨使用,其後需要使用變量關鍵字。

表1-2 變量關鍵字

變量關鍵字類型

舉例

整型

使用二進製、八進製、十進製或十六進製形式表示。例如:port 23,表示端口號為23

整型範圍

使用二進製、八進製、十進製、十六進製形式和“-”表示。例如:portrange 100-200,表示端口號範圍為100到200

IPv4地址

使用點分十進製格式表示。例如:src 1.1.1.1,表示源主機IPv4地址是1.1.1.1

IPv6地址

使用冒號分十六進製格式表示。例如:dst host 1::1,表示報文的目的主機IPv6地址是1::1

IPv4網段

使用IPv4地址和掩碼或者IPv4網絡號表示。以下兩種表達式等價:

·     src 1.1.1,表示源主機的IPv4網段為1.1.1

·     src net 1.1.1.0/24,表示源主機的IPv4網段為1.1.1.0/24

IPv6網段

使用IPv6地址和網絡前綴表示。例如:dst net 1::/64,表示目的IPv6網段為1::/64

需要注意的是,指定IPv6網段變量關鍵字時,必須指定net常量關鍵字

 

1.2.2  捕獲過濾規則操作符

1. 邏輯操作符

邏輯操作符的邏輯運算順序為從左到右,其中非操作符優先級最高,與操作符、或操作符的優先級相同。

表1-3 邏輯操作符

邏輯操作符

描述

!或者not

非操作符。表示對捕獲過濾規則取反操作

&&或者and

與操作符。表示連接多個捕獲過濾規則。當此操作符連接多個過濾規則時,報文符合此操作符連接的全部過濾規則,才會過濾成功,否則,過濾失敗

||或者or

或操作符。表示對多個捕獲過濾規則進行選擇,隻要滿足一個過濾規則,則過濾成功,否則,過濾失敗

 

2. 運算操作符

表1-4 運算操作符

運算操作符

描述

+

加法運算符,用來將其兩側的值加到一起

-

減法運算符,用來將它前麵的數值減去它後麵的數值

*

乘法運算符,用來將其兩側的值相乘

/

除法運算符,用來將其左邊的值除以右邊的值

&

按位與,用來將其兩側的數值逐位進行比較產生一個新值。對於每一位,隻有兩個操作數的對應位都為1時結果才為1

|

按位或,用來將其兩側的操作數逐位進行比較產生一個新值。對於每一位,如果其中任意操作數中對應的位為1,那麼結果位就為1

<< 

按位左移,用來將其左側操作數的每位向左移動,移動的位數由其右側操作數指定

>> 

按位右移,用來將其左側操作數的每位向右移動,移動的位數由其右側操作數指定

[ ]

取位運算符,與協議類型關鍵字結合使用。例如:ip[6],表示IP報文偏移6個字節後,取得的一個字節的值

 

3. 比較操作符

表1-5 比較操作符分類

比較操作符

描述

=

相等,判斷兩側操作數是否相等。例如:ip[6]=0x1c,表示捕獲IPv4報文數據域偏移6字節,取得的一個字節值為0x1c的報文

!=

不等,判斷兩側操作數是否不等。例如:len!=60,表示捕獲報文長度不等於60字節的報文

大於,判斷左側操作數大於右側操作數。例如:len>100,表示捕獲報文長度大於100字節的報文

小於,判斷左側操作數小於右側操作數。例如:len<100,表示捕獲報文長度小於100字節的報文

>=

大於等於,判斷左側操作數大於等於右側操作數;與常量關鍵字greater等價。例如:len>=100,表示捕獲報文長度大於等於100字節的報文

<=

小於等於,判斷左側操作數小於等於右側操作數;與常量關鍵字less等價。例如:len<=100,表示捕獲報文長度小於等於100字節的報文

 

1.2.3  捕獲過濾規則表達式

1. 邏輯操作符表達式

由關鍵字和邏輯運算符組合的捕獲過濾表達式。例如:not port 23 and not port 22,表示捕獲端口號既不是23,又不是22的報文;port 23 or icmp,表示捕獲端口號是23或ICMP協議的報文。

由邏輯操作符連接的多個變量關鍵字,可以使用同一個常量關鍵字進行修飾(就近原則),例如:src 192.168.56.1 or 192.168.27,表示捕獲的源IPv4地址為192.168.56.1或者源IPv4網段為192.168.27的報文。上述表達式與“src 192.168.56.1 or src 192.168.27”等價。

2. expr relop expr表達式

由關鍵字、運算操作符、比較操作符組合的捕獲過濾表達式。其中,expr是算術表達式;relop為比較操作符。例如:len+100>=200,表示捕獲長度大於等於100字節的報文。

3. proto[expr:size]表達式

由協議類型關鍵字和運算操作符“[ ]”組合的捕獲過濾表達式。其中,proto表示協議類型,expr為算術表達式,表示偏移量,size為整數,表示字節個數,缺省值為1。proto[expr:size]的返回值為從proto協議報文數據區域起始位置,偏移expr個字節開始,取size個字節的數據。例如:ip[0]&0xf!=5,表示捕獲第一個字節與0x0f按位相與得到的值不是5的IP報文。

expr:size也可以使用表達式的名稱表示。例如:icmptype表示ICMP報文的類型域,則表達式:icmp[icmptype]=0x08,表示捕獲icmp的type字段的值為0x08的報文。

4. vlan vlan_id表達式

由關鍵字vlan、邏輯操作符等組合的捕獲過濾表達式。其中,vlan_id為整型,表示VLAN編號。例如,vlan 1 and ip,表示捕獲VLAN編號為1的IPv4報文。

需要注意的是:

·     對於帶VLAN tag且接口允許通過的報文,必須使用此類捕獲過濾表達式且關鍵字vlan要在其它捕獲過濾條件之前指定,否則不能正常過濾。例如:vlan 3 and src 192.168.1.10 and dst 192.168.1.1,表示捕獲VLAN 3內、192.168.1.10發往192.168.1.1的報文。

·     對於接口收到的不帶VLAN tag的報文:

¡     如果設備會在報文頭中添加VLAN tag,則為了捕獲該類報文,必須在捕獲過濾規則中設置過濾條件為“vlan xx”。對於三層報文,xx為報文出接口的缺省VLAN ID;對於二層報文,xx為入接口的缺省VLAN ID。

¡     如果設備不會在報文頭中添加VLAN tag,則為了捕獲該類報文,不能在捕獲過濾規則中設置過濾條件為“vlan xx”。

1.3  構建顯示過濾規則

當進行顯示過濾時,所有報文仍然保存在捕獲報文文件中;顯示過濾隻是將符合顯示過濾條件的報文顯示出來,不會改變文件的內容。

1.3.1  顯示過濾規則關鍵字

1. 常量關鍵字

表1-6 常量關鍵字

常量關鍵字類型

描述

關鍵字

協議

顯示指定協議的報文

如果沒有指明協議類型,則顯示捕獲的所有協議的報文

支持的協議有:eth、ip、ipv6、tcp、udp、icmp、http、ftp、telnet等

報文字段

指定報文的特定字段

使用點“.”表示包含關係,格式為:protocol.field[.level1-subfield][.leveln-subfield]

例如:

·     tcp.flags.syn表示tcp協議報文flags字段中的syn位

·     tcp.port表示tcp協議的port字段

 

2. 變量關鍵字

報文字段的取值為變量關鍵字。報文的各個字段具有不同的類型,如表1-7所示。

表1-7 變量關鍵字的類型

字段類型

舉例

整型

將整型字段值用二進製、八進製、十進製、十六進製形式表示。以下幾種表達方式等價:

·     ip.len le 1500

·     ip.len le 02734

·     ip.len le 0x436

表示顯示IP報文長度小於等於1500字節的報文信息

布爾變量

不使用其它操作符,單獨使用報文字段,則默認指定字段的類型為布爾類型。例如: tcp.flags.syn,表示如果捕獲到的報文存在tcp.flags.syn字段,則表達式的值為真,顯示過濾成功;否則為假,顯示過濾失敗

MAC地址(6字節)

MAC地址使用以下三種分隔符表示:分號“:”、點“.”或者破折號“-”;分隔符可以在兩個或者四個字節間使用。以下幾種方式等價:

·     eth.dst==ff:ff:ff:ff:ff:ff

·     eth.dst==ff-ff-ff-ff-ff-ff

·     eth.dst ==ffff.ffff.ffff

以上的顯示過濾表達式表示顯示目的MAC地址為ffff.ffff.ffff的報文信息

IPv4地址

IPv4地址使用點分十進製格式表示。例如:

·     ip.addr==192.168.0.1,表示顯示源或者目的IP地址為192.168.0.1的報文信息

·     ip.addr==129.111.0.0/16,表示顯示源或者目的IP地址屬於129.111網段的報文信息

IPv6地址

IPv6地址使用冒號分十六進製格式表示。例如:

·     ipv6.addr==1::1表示顯示源或者目的IPv6地址為1::1的報文信息

·     ipv6.addr==1::/64表示顯示源或者目的IPv6地址屬於1::/64網段的報文信息

字符串

一些報文字段類型為字符串。例如,http.request version=="HTTP/1.1"表示顯示http報文的request version字段為字符串HTTP/1.1的報文信息,雙引號表示報文字段內容為字符串

 

1.3.2  顯示過濾規則操作符

1. 邏輯操作符

邏輯操作符的邏輯運算順序為從左到右。優先級從高到低依次為:括號操作符、非操作符、與操作符、或操作符,其中與操作符、或操作符的優先級相同。

表1-8 顯示過濾邏輯操作符

英文

描述和舉例

!或not

非操作符。表示對顯示過濾規則取反操作

&&或and

與操作符。表示連接多個顯示過濾規則

||或or

或操作符。表示對多個顯示過濾規則進行選擇

[ ]

括號操作符。與協議名稱組合使用,詳細介紹請參見“1.3.3  4. proto[…]表達式

 

2. 比較操作符

表1-9 顯示過濾比較操作符

分類

描述和舉例

eq或==

相等,判斷兩側操作數是否相等。例如:ip.src==10.0.0.5,表示顯示源IP地址為10.0.0.5的報文信息

ne或!=

不等,判斷兩側操作數是否不等。例如:ip.src!=10.0.0.5,表示顯示源IP地址不是10.0.0.5的報文信息

gt或>

大於,判斷左側操作數大於右側操作數。例如:frame.len>100,表示顯示捕獲的幀長度大於100字節的幀信息

lt或<

小於,判斷左側操作數小於右側操作數。例如:frame.len<100,表示顯示捕獲的幀長度小於100字節的幀信息

ge 或>=

大於等於,判斷左側操作數大於等於右側操作數。例如:frame.len ge 0x100,表示顯示捕獲的幀長度大於等於256字節的幀信息

le或<=

小於等於,判斷左側操作數小於等於右側操作數。例如:frame.len le 0x100表示顯示捕獲的幀長度小於等於256字節的幀信息

 

1.3.3  顯示過濾規則表達式

1. 邏輯操作符表達式

由關鍵字和邏輯運算符組合的顯示過濾表達式。例如:ftp or icmp,表示顯示所有ftp協議和icmp協議報文信息。

2. 比較操作符表達式

由關鍵字和比較運算符組合的顯示過濾表達式。例如:ip.len<=28,表示顯示所有IP報文的長度字段小於等於28字節的IP報文。

3. 報文字段表達式

隻由報文字段組成的顯示過濾表達式,作用是顯示存在某一具體字段的報文信息。例如:tcp.flags.syn,表示顯示所有存在tcp.flags.syn位的報文。

4. proto[…]表達式

由協議類型和運算操作符“[ ]”組合的顯示過濾表達式,proto[…]的類型為十六進製整型,其中,proto表示協議類型、字段。括號操作符內容有以下兩種表達方式:

·     [n:m],n表示偏移位置,m表示指定的字節數;表示從偏移n個字節位置開始取後麵m個字節數據。例如:eth.src[0:3]==00:00:83,表示源MAC地址的前三個字節分別為0x00、0x00、0x83。

·     [n-m],n表示偏移起始位置,m表示偏移結束位置;表示從偏移n個字節位置取到第m個字節位置,共取m-n+1個字節數據。例如:eth.src[1-2]==00:83,表示MAC地址的第二個字節和第三個字節分別為0x00、0x83。

·     [n],與[n:1]等價,表示取偏移n個字節位置的一個字節數據。例如:eth.src[2]==83,表示MAC地址的第三個字節為0x83。

1.4  報文捕獲配置限製和指導

二層接口上的大部分流量為硬件轉發報文,對於硬件轉發報文,不管是本地還是遠程報文捕獲,均需要使用QoS策略將硬件報文鏡像到CPU才能捕獲;對於軟件轉發報文,不需要將報文鏡像到CPU,直接開啟報文捕獲功能即可。

報文捕獲功能可捕獲幀長度小於等於9196字節的報文,當收到報文的幀長度大於9196時,設備不會捕獲該報文。

1.5  配置本地報文捕獲

1. 功能簡介

請在用戶視圖執行以下命令,配置將接口捕獲的報文保存到本地或FTP服務器。通過使用第三方軟件Wireshark連接到FTP服務器,可以對保存的報文文件進行解析。

2. 配置步驟

·     請在用戶視圖執行以下命令,本命令用於捕獲以太網接口和VLAN接口的報文。

packet-capture local interface interface-type interface-number [ capture-filter capt-expression | limit-frame-size bytes | autostop filesize kilobytes | autostop duration seconds ] * write { filepath | url url [ username username [ password { cipher | simple } string ] ] }

本命令在後台執行。配置本命令後,用戶可以繼續輸入命令來配置設備。

·     請在用戶視圖執行以下命令,本命令用於捕獲射頻接口的報文

packet-capture local ap ap-name radio radio-id [ capture-filter capt-expression | limit-frame-size bytes | autostop filesize kilobytes | autostop duration seconds ] * write url url [ username username [ password { cipher | simple } string ] ]

關於packet-capture local ap命令的支持情況,具體請參見命令參考。

本命令在後台執行。配置本命令後,用戶可以繼續輸入命令來配置設備。

1.6  配置遠程報文捕獲

1.6.1  配置接口遠程報文捕獲

1. 配置準備

遠程報文捕獲功能用於將設備上捕獲的報文直接發送給客戶端(例如Wireshark),由客戶端來解析並展示捕獲結果。

遠程報文捕獲功能的工作流程為:

(1)     在設備上開啟遠程報文捕獲功能後,設備會捕獲指定接口的報文,並偵聽RPCAP服務端口號。

(2)     請將客戶端連接到設備,並在客戶端上指定服務器端的IP地址為設備的IP地址以及服務器端的偵聽的端口號為本命令配置的port值。客戶端會使用該地址和端口號,和設備建立RPCAP連接。

(3)     設備通過RPCAP連接將捕獲的報文發送給客戶端。

(4)     客戶端收到設備發送的報文後,對報文進行解析和展示。

2. 配置步驟

(1)     請在用戶視圖執行以下命令,配置接口遠程報文捕獲。

packet-capture remote interface interface-type interface-number [ port port ]

(2)     將客戶端(例如Wireshark)連接到設備,客戶端的配置請參見客戶端的相關資料。

1.6.2  配置AP Radio遠程報文捕獲

1. 功能簡介

AP Radio遠程報文捕獲功能用於將AP Radio接口上捕獲的報文直接發送給客戶端(例如Wireshark),由客戶端來解析並展示捕獲結果。

AP Radio遠程報文捕獲功能的工作流程為:

(1)     在設備上開啟AP Radio接口的遠程報文捕獲功能後,設備會捕獲指定AP Radio接口的報文,並偵聽RPCAP服務端口號。

(2)     請將客戶端連接到AP,並在客戶端上指定服務器端的IP地址為AP的IP地址以及服務器端的偵聽的端口號為本命令配置的port值。客戶端會使用該地址和端口號,和AP建立RPCAP連接。

(3)     AP通過RPCAP連接將捕獲的報文發送給客戶端。

(4)     客戶端收到AP發送的報文後,對報文進行解析和展示。

2. 配置步驟

(1)     請在用戶視圖執行以下命令,配置AP Radio遠程報文捕獲。關於packet-capture remote ap命令的支持情況,具體請參見命令參考。

packet-capture remote ap ap-name radio radio-id [ port port ]

(2)     將客戶端(例如Wireshark)連接到設備,客戶端的配置請參見客戶端的相關資料。

1.7  停止報文捕獲

1. 功能簡介

在配置報文捕獲時,用戶可通過參數來實現自動停止報文捕獲。在報文捕獲過程中,使用本功能可手工停止報文捕獲。

2. 配置步驟

請在用戶視圖執行以下命令,停止本地或遠程報文捕獲。

packet-capture stop

1.8  Packet Capture顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後的報文捕獲狀態信息。

表1-10 Packet Capture顯示和維護

操作

命令

顯示本地或遠程報文捕獲狀態

display packet-capture status

 

1.9  Packet Capture典型配置舉例

1.9.1  遠程報文捕獲配置舉例

1. 組網需求

在Device的三層GigabitEthernet1/0/1接口上開啟遠程報文捕獲功能,將捕獲的報文上送到Wireshark軟件上解析。

2. 組網圖

圖1-1 遠程報文捕獲組網圖

3. 配置步驟

(1)     配置Device

# 在GigabitEthernet1/0/1上開啟遠程報文捕獲功能,指定RPCAP服務端口號為2014。

<Device> packet-capture remote interface gigabitethernet 1/0/1 port 2014

(2)     配置Wireshark

a.     在PC上打開Wireshark軟件,選擇“Capture > Options”。

b.     選擇“Interface > Remote”。

c.     輸入Device的IP地址(該地址必須和Wireshark路由可達)和綁定的RPCAP服務端口號2014。

d.     點擊<OK>按鈕,再點擊<Start>按鈕啟動捕獲。此時在報文捕獲窗口可看到捕獲到的報文。

說明

不同版本的Wireshark軟件,其界麵支持的選項以及選項放置的位置,可能存在差異,請以Wireshark軟件實際情況為準。

 

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們