wireshark抓包學習

WSssSW發表於2024-04-20

ip 過濾
ip.src_host
ip.dst_host
ip.addr

mac 過濾
eth.src
eth.dst
eth.addr

埠過濾
tcp.port
tcp.srcport
tcp.dstport

協議型別過濾
arp
dhcp

規則組合
and
or

檔案匯出
匯出特定分組
image





all packets 為把抓到的所有包都儲存 而 select packet 為儲存我們滑鼠點選選中的包也就是上一張圖深色高亮的包
image





如果我們想要自定義的儲存多個資料包就要進行標記 方法如下圖
點選 紅線標出的地方 這個資料包就會被標記了
image





這樣在匯出資料包的時候選擇macked packet only 會將所有我們標記的包儲存
image






追蹤流
可以看到與資料包相關的完整流 如下圖
image





wireshark 包詳解**
1.tcp
這一塊如果沒看懂可以看看tcp三次握手和四次揮手 單純從圖片入手確實有點難解釋
這裡我抓取了一個完整的tcp次握手協議 如下圖
image





就拿第一個資料包來分析吧 也就是 192.168.72.1 向 192.168.72.150發的包
如下圖 在這個資料包裡面畫橫線的地方從上到下分別是 物理層 資料鏈路層 傳輸層 和 tcp協議
image





物理層 資料鏈路層 傳輸層 這三層協議就先不說了 我們來看看 tcp 協議的內容 圖片如下
這個tcp資料包傳送了 syn=1 與 seq=799197034
image





為了方便理解 我把第二個包(192.168.72.150 向 192.168.72.1 發的包)也截了出來
可以看到第二個包裡面的ack的絕對數值 799197035 就是第一個包的seq的值799197034 + 1 得來的
image





http抓包分析

現在來看看完整的http 的請求過程 如下圖
第一部分是3次握手協議 第二部分是傳輸資料包 第三部分就是四次揮手協議
image





下面來仔細看看,第二部分的http協議的包
image
首先是192.168.72.1 向192.168.72.150 發起的 http get的請求
然後就是 192.168.72.150 對 192.168.72.1的響應 可以看到左邊的兩個小箭頭 就是分別對應的請求與響應
那麼這兩個http中間的這些包又是什麼呢 如下圖





image
我們將滑鼠選中最後一個http包 也就是 192.168.72.150 向 192.168.72.1傳送的http包
可以看到左邊出現了幾個小圓點





image
接著我們看到這個http包裡面fram的序號 就是這些小圓點所標記的序號
那麼就顯而易見了 這些包其實都是http的一部分,也就是一個片段 在發包過程中 每個包的大小有限制 所以只能將超過限制的包分成好幾段包來進行傳輸 而在最後一個包裡面會標出完整資料是由哪些包組裝而成





我們可以直接在最後一個包裡面看見整個組裝好的http包
image
點選畫橫線的地方就可以看到了





https解密
那麼https是加密的資料
那麼我們如何解密看到嗎,明文資訊呢
首先 隨便找個地方建立一個log檔案
image





選擇瀏覽器 點選屬性
在 目標後面加入--ssl-key-log-file=C:\Users\89135\Desktop\ssl.log 後面接的是自己建立log檔案的路徑
image





然後在wireshark裡面找到
編輯 裡面的 首選項
image
找到協議






image
選擇tls協議 然後再裡面匯入我們log的路徑 就OK了






image
這樣我們就可以看到https的明文了





相關文章