Wireshark基本使用

本文會對Wireshark做簡單介紹,帶大家熟悉一下Wireshark的界面,以及如何使用過濾器。

接著會帶大家查看TCP五層模型下,帶大家回顧各層首部的格式。

最后會演示 Wireshark 如何抓取三次握手和四次揮手包的過程。

目錄

一.Wireshark簡介

二. 界面介紹

三. 過濾器

1. 捕獲過濾器

2. 顯示過濾器

四. 保存流量包

五. 協議數據包詳解

1. 物理層

2. 數據鏈路層

3. 網絡層

?4. 傳輸層

三次握手

四次揮手


一.Wireshark簡介

大家可能之前用過 BurpSuite,Wireshark和它相比有哪些區別呢?

Burpsuite 只是抓的應用層數據包,而 Wireshark 七層網絡模型都能抓。

不過Wireshark不是入侵檢測系統,對于網絡上的異常流量,Wireshark不會警示或提示。

且無法對流量包進行更改,只能查看流量包。

下載地址:Wireshark · Download


二. 界面介紹

共分為五大塊:菜單欄,工具欄,顯示過濾器,捕獲過濾器和網卡模塊。

顯示過濾器是對抓到的包進行過濾;

捕獲過濾器是提前設置好想抓的對象。

抓包界面也分三大塊:

從上到下分別是數據包列表,數據包的詳細信息和詳細信息十六進制表示。

在編輯-首選項-外觀,也可以按自己習慣修改布局。


三. 過濾器

功能列表不可能一一介紹完,這里介紹最重要的過濾器。

1. 捕獲過濾器

前面說過,捕獲過濾器是提前設置好捕獲的對象

點擊捕獲-選項:

這里的混雜模式 是指不僅抓本機MAC地址的包,所有經過網卡的包都會捕獲。

捕獲過濾器就在下方的框內輸入即可

比如想捕獲端口為443的包:輸入 port 443

還有很多選項,比如

地址:host、src、dst????? 協議:ip、tcp、http、ftp

如查找目的地址為本機且協議是tcp的包:dst 127.0.0.1 && tcp

這里再舉些例子:?

src host 192.168.2.11 && dst port 80 #抓取源地址為192.168.2.11,并且目的端口為80
的流量
host 192.168.2.11 || host 192.168.2.22 #抓取192.168.2.11或者192.168.2.22的流量
數據
!broadcast #不抓取廣播包
src ether host 98:1a:35:98:09:6f #抓取源mac地址為98:1a:35:98:09:6f的數據包

2. 顯示過濾器

顯示過濾器是對抓完的包再進行過濾

這里也列出一些例子:

http、tcp #按照協議搜索
ip.src_host=192.168.2.16 #src_host按照源ip地址進行搜索
ip.src_host=192.168.2.16 or ip.dst_host=192.168.2.1 # dst_host是目標主機ip地址
tcp.flags.ack == 0 and tcp.flags.syn == 1 # 這是過濾出,tcp請求中ack標記為0,syn標記為1的包
ip.addr=192.168.2.33 # 是要ip地址為192.168.2.33的全部展示出來,不管是目標地址還是源地址。
tcp.srcport == 443 # 源端口為443的數據包
not arp # 不獲取arp數據
tcp.port == 443 # 過濾端口443的數據包

這里還有一種過濾器選擇方法:

我們選擇一項右擊,選擇作為過濾器應用,也可以進行顯示過濾。


四. 保存流量包

比如我們想導出特定幾個流量包,怎么導出呢?

選中我們要標記的包右鍵標記或者 Ctrl + M

再點擊 文件 - 導出特定分組,選擇最下面的 Marked packets only


五. 協議數據包詳解

OSI 七層模型和 TCP/IP 五層模型相信大家并不陌生:

Wireshark 呈現出的方式是五層模型方式:

我們依次來看一下:

1. 物理層

2. 數據鏈路層

數據鏈路層抓的是以太網MAC幀,格式如下:

細心的同學會發現,為什么Wireshark這個沒有FCS字段

因為 Wireshark 抓取的MAC幀直接丟掉了幀尾,默認丟棄了這個校驗字段。

3. 網絡層

IP層咱先回顧一下IP首部字段:

再來對比看一下:

?4. 傳輸層

傳輸層協議主要是TCP和UDP,我們這里先看TCP:

對應看下包:這里的1000就是數據偏移,保留位是 ....

數據偏移其實就是表示這個TCP的首部長度,以4B為單位,所以為32B

標志位字段展開就是六個標志

各個標志位的含義如下:

--------------------------------------------------------------------------------------------------------------------------------

下面演示三次握手和四次揮手的抓包過程:

三次握手

首先看下三次握手的過程圖:

具體的三次握手細節可以看?湖科大計網

實驗過程如下:

我們隨便訪問一個網站,通過 源地址、目標地址和info 能找到三次握手的包

也可以設置顯示過濾器為 tcp.flags.syn == 1 進行查找

然后存儲下來,我們來進行分析:

第一個包,開始時服務器端處于監聽狀態,客戶端發送TCP連接請求報文段

并設置 seq=x,SYN=1,進入 SYN-SENT 狀態

---------------------------------------------------------------------------------------------------------------------------------

第二個包,服務器端接收到后,向客戶端發送確認消息

設置 SYN=1,ACK=1,seq=y,ack=x+1,并進入 SYN-RCVD 狀態

---------------------------------------------------------------------------------------------------------------------------------

第三個包,客戶端收到后,向服務器端發送TCP確認報文段表示收到

設置 ACK=1,seq=x+1,ack=y+1,進入 ESTABLISHED 狀態

最后,服務器收到確認請求,就知道可以進行通信了,也進入 ESTABLISHED 狀態。

四次揮手

四次揮手的過程圖:

實驗過程如下:

我們搜索 tcp.flags.fin == 1

搜到兩條先標記,然后搜 tcp.flags,就能找到四次揮手的四個包了,標記保存。

第一個包,客戶端向服務器發送FIN請求,并確認收到之前的數據

設置 FIN=1,ACK=1,seq=u,ack=v,并進入終止等待1狀態

---------------------------------------------------------------------------------------------------------------------------------

第二個包, 服務器收到客戶端的包,返回確認包

設置 ACK=1,seq=v,ack=u+1,服務器端進入關閉等待狀態,客戶端進入終止等待2狀態

---------------------------------------------------------------------------------------------------------------------------------

第三個包,主要是為了防止第二包發完后,服務器端還有數據要發送給客戶端

發送完后,服務器端也告知客戶端自己要請求斷開連接,并確認收到了之前的數據包

設置 FIN=1,ACK=1,seq=w,ack=u+1,服務器端進入最后確認狀態

---------------------------------------------------------------------------------------------------------------------------------

第四個包,客戶端確認收到服務器端的釋放請求

設置 ACK=1,seq=u+1,ack=w+1,客戶端進入時間等待狀態,因為怕服務器端沒收到這個確認包。客戶端等待2MSL看服務器端是否會超時重傳,沒反應就進入關閉狀態。

感謝你能看到這 o(* ̄▽ ̄*)ブ

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82170.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82170.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82170.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

加速項目落地(Trae編輯器)

目錄 vscode安裝python支持 vscode常用插件 Trae編輯器 兩個界面合成 補充(QT開發的繁瑣) AI編程哪家強?Cursor、Trae深度對比,超詳細! - 知乎 Trae兼容vscode的插件,我們可以先在vscode里面裝好再一…

stable diffusion的attention-map:提取和可視化跨注意力圖

項目: wooyeolbaek/attention-map-diffusers: 🚀 Cross attention map tools for huggingface/diffusers 參考:【可視化必備技能(1)】SD / Flux 文生圖模型的 Attention Map 可視化-CSDN博客

多環串級PID

文章目錄 為什么要多環程序主函數內環外環 雙環PID調參內環Kp調法Ki調法 外環Kp 以一定速度到達指定位置封裝 為什么要多環 單環只能單一控制速度或者位置,如果想要同時控制多個量如速度,位置,角度,就需要多個PID 速度環一般PI…

基于Kubernetes的Apache Pulsar云原生架構解析與集群部署指南(上)

#作者:閆乾苓 文章目錄 概念和架構概述主要特點消息傳遞核心概念Pulsar 的消息模型Pulsar 的消息存儲與分發Pulsar 的高級特性架構BrokerBookKeeperZooKeeper 概念和架構 概述 Pulsar 是一個多租戶、高性能的服務器到服務器消息傳遞解決方案。Pulsar 最初由雅虎開…

電子電氣架構 --- 如何有助于提安全性并減少事故

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 鈍感力的“鈍”,不是木訥、遲鈍,而是直面困境的韌勁和耐力,是面對外界噪音的通透淡然。 生活中有兩種人,一種人格外在意別人的眼光;另一種人無論…

rest_framework學習之認證 權限

權限 DRF提供如下幾種常見權限: IsAuthenticated, 認證通過 IsAdminUser, 管理員權限 IsAuthenticatedOrReadOnly, 登錄用戶增刪改 非登錄用戶只能查詢 AllowAny,無需認證(默認) 在rest_framework的APIView基礎類中&#xf…

【使用switch結構輸出季節】2021-11-23

緣由用switch語句設計程序一年有12個月-編程語言-CSDN問答 void 使用switch結構輸出季節(int y) {//緣由https://ask.csdn.net/questions/7577096?spm1005.2025.3001.5141std::cout << y << "\t";switch (y){case 3: case 4: case 5:std::cout <<…

主備Smart Link + Monitor Link組網技術詳細配置

1.實驗拓撲 2.使用設備 eNSP模擬建議下行設備三臺使用S3700模擬&#xff08;全部使用S5700可能會出現流量丟失等異常問題。&#xff09; 3.實驗配置 [SW1]dis cu # sysname SW1 # vlan batch 100 110 # interface Ethernet0/0/1port link-type accessport default vlan 100 …

【hadoop】案例:Sqoop遷移倉庫數據

1 數據導出&#xff1a;Hive導入MySQL [hadoophadoop1 sqoop]$ bin/sqoop export \ > --connect jdbc:mysql://localhost/weather \ > --username root \ > --password 123456 \ > --table mean_temperature \ > --export-dir /user/hive/warehouse/mydb/mean…

Mysql-OCP PPT課程講解并翻譯

#跳過介紹&#xff0c;直接從干貨開始記錄 第一章 安裝mysql

springboot+vue實現在線網盤(云盤)系統

今天教大家如何設計一個網盤&#xff08;云盤&#xff09;系統系統 , 基于目前主流的技術&#xff1a;前端vue&#xff0c;后端springboot。 同時還帶來的項目的部署教程。 視頻演示 springbootvue實現在線網盤&#xff08;云盤&#xff09;系統 圖片演示 一. 系統概述 用過百…

JAVA:Spring Boot 集成 Lua 的技術博客

1、簡述 在現代開發中,Lua 以其輕量級、高性能以及易嵌入的特點廣泛用于腳本擴展、游戲開發以及配置處理場景。將 Lua 與 Spring Boot 集成,可以在 Java 項目中實現動態腳本功能,增強項目的靈活性和動態配置能力。 樣例代碼: https://gitee.com/lhdxhl/springboot-example…

uniapp-商城-43-shop 后臺管理 頁面

后臺管理較為簡單&#xff0c;主要用于后臺數據的管理&#xff0c;包含商品類別和商品信息&#xff0c;其實還可以擴展到管理用戶等等 1、后臺首頁 包含 分類管理 商品管理 關于商家等幾個欄目 主要代碼&#xff1a; <template><view class"manage">…

食物數據分析系統vue+flask

食物數據分析系統 項目概述 食物數據分析系統是一個集食物營養成分查詢、對比分析和數據可視化于一體的Web應用。系統采用前后端分離架構&#xff0c;為用戶提供食物營養信息檢索、食物對比和營養分析等功能&#xff0c;幫助用戶了解食物的營養成分&#xff0c;做出更健康的飲…

學習基本樂理知識

本文主要內容 如何練習吉他 樂理知識補充 ps&#xff1a;本文知識均來自up主 ‘吉他大學霸’ 感謝開源 -^- 練習吉他步驟 打怪升級 右手--> 左手--> 音階--> 拓展 第一階段&#xff1a; 追求手腳配合不出錯、手姿勢不出錯、手不會按錯彈錯。連續不錯的遍數達標就可以進…

吊球技術(劈吊、滑板等)

羽毛球吊球技術&#xff08;劈吊、滑板等&#xff09;是單打和雙打中重要的得分手段&#xff0c;需要通過系統性練習掌握。以下是分步驟的詳細訓練方法&#xff1a; 一、核心技術原理對比 技術類型擊球點拍面控制發力特點適用場景正手劈吊高點偏前斜切&#xff08;拍面45&…

Java實現桶排序算法

1. 桶排序原理圖解 桶排序是一種基于分桶思想的非比較排序算法&#xff0c;適用于數據分布較為均勻的場景。其核心思想是將數據分散到有限數量的“桶”中&#xff0c;每個桶再分別進行排序&#xff08;通常使用插入排序或其他簡單的排序算法&#xff09;。以下是桶排序的步驟&a…

OpenCv實戰筆記(3)基于opencv實現調用攝像頭并實時顯示畫面

一、實現效果 二、實現原理 使用 OpenCV 打開攝像頭&#xff0c;持續捕獲視頻幀&#xff0c;并在一個窗口中實時顯示這些幀&#xff0c;直到用戶按下 ESC 鍵退出。整體流程&#xff1a;打開攝像頭&#xff08;cv::VideoCapture&#xff09;>創建圖像顯示窗口&#xff08;cv…

編譯原理頭歌實驗:詞法分析程序設計與實現(C語言版)

編譯原理頭歌實驗&#xff1a;詞法分析程序設計與實現&#xff08;C語言版&#xff09; 1.實驗描述 任務描述 本關任務&#xff1a;加深對詞法分析器的工作過程的理解&#xff1b;加強對詞法分析方法的掌握&#xff1b;能夠采用一種編程語言實現簡單的詞法分析程序&#xff…

SQL常用操作大全:復制表、跨庫查詢、刪除重復數據

大家好&#xff0c;歡迎來到程序視點&#xff01;我是你們的老朋友.小二&#xff01; SQL常用操作精華總結 表結構與數據操作 復制表結構&#xff1a; SELECT * INTO b FROM a WHERE 1<>1 (SQL Server專用) SELECT TOP 0 * INTO b FROM a (更通用) 拷貝表數據&#…