wireshark抓包之如何找到心儀的她

2021-10-06 05:04:10 字數 3441 閱讀 9686

網路世界錯綜複雜,林子大了,什麼鳥都有,怎麼在萬千世界中找到心儀的她,需要我們借助一定的過濾要求來找到所需要的一些報文,在網路世界中,主要根據的是報文中的標誌位和一些屬性進行區分,如何區分報文的種類以及如何過濾所需要的包,來一起了解吧!

在上篇文章我們講述了如何在windows 的 wireshark 中抓取 http 報文 和 tcp 報文,如果你還沒接觸過 wireshark,可以先回頭看看這篇文章,位址我放在這裡:傳送門, 看完再來看這篇,會更加利於理解。

下面是三個簡單的問題,希望你看完後可以嘗試捕捉一下對應報文,文末會給出對應的答案

問題1.:捕獲 syn-ack 報文 (捕獲過濾器)

問題2:捕獲指定埠範圍和指定網域名稱 報文 (捕獲過濾器)

問題3:從獲取到報文中篩選指定ip位址的報文(顯示過濾器)

首先我們先明白一些概念性的東西

1.過濾器有哪幾種

wireshark的過濾器分為兩個部分,捕獲過濾器和顯示過濾器

1.1 捕獲過濾器

作用:用於減少抓取的報文體積,使用 bpf 語法,功能相對有限

1.expression 表示式

表示式主要由兩部分構成,乙個是原語限定詞,另乙個是原語運算子,類似我們數學中的條件以及與或非,根據這兩個的神奇搭配,我們就可以配出各種我們所想要的條件。

1.1 primitives 原語:由名稱或數字,以及描述它的多個限定詞組成

1.11 主要的限定詞

type: 設定數字或者名稱所指示型別

net:

portrange:

dir: 設定網路出入方向

proto:指定協議的型別

1.12 其他限定詞

限定詞是一些關鍵的屬性,說明你要過濾的指標是什麼,是 ip位址,還是埠,是網域名稱 還是協議

1.2 原語運算子

例如:src or dst portrange 6000-8000 && tcp or ip6

上述表示要捕獲的是 tcp報文或者 ipv6的報文,且源埠或者目標埠在 6000-8000的範圍內,

原語運算子的主要作用就是限定搭配來獲取豐富多彩的各類條件

1.3 一些常用的示例

1.4 捕獲 tcp 協議各種型別的報文 !!!

我們知道 tcp 的三次握手和四次揮手 都有著不同的報文,例如 ack 報文,rst 報文, fin 報文 等,在學習 tcp 協議的時候,如何捕獲這些指定的報文呢?接下來我們根據原理進行學習,首先我們剖析一下 tcp 的報文結構:

先解釋一下上面的相關名詞:

tcp的標誌欄位在tcp頭的第14位元組儲存, 對應的 8 個位元對應著 ns,cwr,ece,urg,ack,psh,rst,syn,fin ,位元對應的值如果是1,說明該標識生效,常見的有如下幾種:

**1:urg:(置一有效)緊急指標,表明傳送端向另一端使用緊急方式傳送資料。

2:ack:(置一有效)表示確認序號。

3:psh:(置一有效)表示接收方應該盡快將這個報文交給應用層。

4:rst:(置一有效)表示重建連線。

5:syn:(置一有效)用來發起乙個連線。

6:fin:(置一有效)表示傳送方的表示完成任務,接收方的表示同意斷開連線。**

這裡的 tcp[13] 的意思是,tcp 報文的第14個位元組,乙個位元組是8bit ,每個位元剛好對應著上面的八個標誌,有 1 或 0 的取值

二、顯示過濾器

作用:對已經抓取到的報文過濾顯示,功能強大

我們可以通過 檢視選單,來找到 wireshark 所支援的各類協議,其中 tcp協議 部分如上圖所示。

其中型別主要有以下的區分:

2.1 過濾型別

2.2 組合符

上面的型別匹配都是單體的,當然我們也可以對其進行組合,此時就需要組合操作符了,如下所示:

英文符號

意義和例子

and&邏輯與, 及兩個條件均需成立,例如 ip.src ==10.0.0.1 and tcp.flags.fin

or||邏輯或,及兩個條件滿足其中均可,例如 ip.src == 10.0.0.1 or ip.src== 92.168.1.1

xor^^邏輯異或,即兩個跳進同時成立才算成立,否則就算不成立 例如, tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29

[…]無

切片符,從0開始in無

集合運算

除了上面這些常用的,還有一些其他的操作符

1.大括號{} 集合操作符

例如:tcp.port in 的意思是 tcp 的埠 在 443 和 80-88 之間的顯示,其效果等效於 tcp.port == 443 || (tcp.port >=80 && tcp.port <=88)

2.中括號 切片

2.3 常用函式接下來,我們根據上面的內容來回答這三個問題:

問題1.:捕獲 syn-ack 報文 (捕獲過濾器)

問題2:捕獲指定埠範圍和指定網域名稱 報文 (捕獲過濾器)

問題3:從獲取到報文中篩選指定ip位址的報文(顯示過濾器)

答案1:捕獲 syn-ack 報文,即 tcp[13] 的標誌為中 syn 和 ack 均為1 ,對應的位元二進位制數為 00010010, 即 18,因此表示式為:tcp[13] = 18

ip.addr==192.168.31.66
其中源ip和目標ip都為 192.168.31.66 的才會顯示

碼字總結不易,如果對你有幫助希望能給個贊或者關注,後面我會出更多網路相關的文章,以上內容,如有書寫不嚴謹之處,請指出。

wireshark 抓包問題

一 the npf driver isn t running 這個錯誤是因為沒有開啟npf服務造成的。npf即網路資料報過濾器 netgroup packet filter,npf 是winpcap的核心部分,它是winpcap完成困難工作的元件。它處理網路上傳輸的資料報,並且對使用者級提供可捕獲 ...

Wireshark抓包練習

姓名 郭瀚鵬 學號 15307130174 專業 資訊保安 dns 查詢分組 首部區域 internet protocol version 4 ipv4 src 源ip dst 目的id header length 首部長度 differentiated services 區分服務 保證qos服務的...

wireshark抓包過濾

抓指定主機icmp包 icmp and ip.host 192.168.168.65 抓指定主機tcp資料報 tcp and ip.host 172.16.10.222 tcp.flags 顯示包含tcp標誌的封包。tcp.flags.syn 0 02 顯示包含tcp syn標誌的封包。1 對源位址...