在wireshark中往往會抓到很多資料,這時我們就需要用到過濾器filter來篩選出我們所關心的資料報。
wireshark提供了兩種過濾器:
捕獲過濾器:在抓包之前就設定好過濾條件,然後只抓取符合條件的資料報。
顯示過濾器:在已捕獲的資料報集合中設定過濾條件,隱藏不想顯示的資料報,只顯示符合條件的資料報。
需要注意的是,這兩種過濾器所使用的語法是完全不同的,在本篇博文中將介紹捕獲過濾器。
使用捕獲過濾器的主要原因就是效能。如果你知道並不需要分析某個型別的流量,那麼可以簡單地使用捕獲過濾器過濾掉它,從而節省那些會被用來捕獲這些資料報的處理器資源。當處理大量資料的時候,使用捕獲過濾器是相當好用的。
新版wireshark的初始介面非常簡潔,主要就提供了兩項功能:先設定捕獲過濾器,然後再選擇負責抓包的網絡卡。由此可見捕獲過濾器的重要性。
比如我們希望只抓取與80埠之間的通訊,那麼可以設定過濾規則「port 80」。
捕獲過濾器應用於winpcap,並使用berkeley packet filter(bpf)語法,其語法規則如下:
協議 方向 型別 資料協議,可能的值:ether、ip、arp、tcp、udp、http、ftp……,如果沒有特別指明是什麼協議,則預設使用所有支援的協議。
方向,可能的值:src、dst,如果沒有特別指明**或目的地,則預設使用「src or dst」作為關鍵字。例如,「host 10.2.2.2」與「src or dst host 10.2.2.2」是一樣的。
型別,可能的值:net、port、host,如果沒有指定此值,則預設使用」host」關鍵字。例如,「src 10.1.1.1」與「src host 10.1.1.1」相同。
我們還可以使用以下三種邏輯運算子,對表示式進行組合,從而建立更高階的表示式。
邏輯與&&,邏輯或||,邏輯非!比如下面這個表示式,只捕獲源位址是192.168.0.10並且源埠或目的埠是80的資料報。
src 192.168.0.10 && port 80應用示例
如果我們希望抓取某台特定主機或裝置的資料報,那麼可以根據裝置的ip位址或mac位址來設定過濾規則。
比如只抓取ip位址為192.168.0.10的資料報。
host 192.168.0.10如果考慮到主機的ip位址可能會變化,那麼可以指定mac位址進行過濾。
ether host 00-50-56-c0-00-01也可以根據資料的流向來過濾:
src host 192.168.0.10 //從192.168.0.10發出的資料報需要注意的是,host在表示式中是預設選項,因而上面的這幾個表示式無論是否加上host都是表達相同含義。dst host 192.168.0.10 //發往192.168.0.10的資料報
ether src host 00-50-56-c0-00-01 //從00-50-56-c0-00-01發出的資料報
ether dst host 00-50-56-c0-00-01 //發往00-50-56-c0-00-01的資料報
再比如通過埠進行過濾:
port 8080 //只捕獲8080埠的流量通過協議或通訊方式進行過濾:!port 8080 //捕獲8080埠外的所有流量
dst port 8080 //只捕獲前往8080埠的流量
icmp //只捕獲icmp流量!broadcast //不要抓取廣播包
wireshark捕獲過濾器和顯示過濾器
wireshark的捕獲過濾器是在裝置驅動級別提供抓包的過濾介面 表示式 目的埠 dst post 80 源埠 src port 80 協議 udp 設定網段 net 192.168.0.0 mask 255.255.255.0等價於net 192.168.0.0 24 埠範圍 portrange ...
Wireshark系列之4 捕獲過濾器
在wireshark中往往會抓到很多資料,這時我們就需要用到過濾器filter來篩選出我們所關心的資料報。wireshark提供了兩種過濾器 需要注意的是,這兩種過濾器所使用的語法是完全不同的,在本篇博文中將介紹捕獲過濾器。使用捕獲過濾器的主要原因就是效能。如果你知道並不需要分析某個型別的流量,那麼...
WireShark過濾器選項
首先說幾個最常用的關鍵字,eq 和 等同,可以使用 and 表示並且,or 表示或者。和 not 都表示取反。一 針對wireshark最常用的自然是針對ip位址的過濾。其中有幾種情況 1 對源位址為192.168.0.1的包的過濾,即抓取源位址滿足要求的包。表示式為 ip.src 192.168....