【網絡安全】從IP頭部看網絡通信:IPv4、IPv6與抓包工具 Wireshark 實戰

從IP頭部看網絡通信:IPv4、IPv6與抓包工具 Wireshark實戰

在網絡安全分析和數據通信的世界中,一切都始于“數據包”。數據包是網絡上傳輸的基本單位,而數據包的結構與內容,正是我們理解網絡行為的核心。本文將帶你深入了解 IP 協議中兩種主流版本(IPv4 與 IPv6)的報文頭結構,并介紹如何使用 Wireshark 等網絡抓包工具高效分析這些數據包。


1. 什么是IP協議?

IP(Internet Protocol,互聯網協議)是互聯網通信的基石。它負責將數據包從源地址發送到目標地址。IP 協議規定了數據包的格式和路由方式,是實現不同設備之間通信的“郵遞系統”。

目前,互聯網上主要使用兩個版本的 IP 協議:

  • IPv4(Internet Protocol version 4)
  • IPv6(Internet Protocol version 6)

它們的核心區別除了地址長度外,也體現在頭部結構的不同設計上。


2. IPv4頭部結構解析

在這里插入圖片描述

IPv4 是目前最廣泛使用的 IP 版本,其報文頭部由 13 個字段組成:

字段名說明
Version指明協議版本(4)
IHL(Header Length)頭部長度,單位為 4 字節
Type of Service(ToS)指定服務質量,決定優先級
Total Length包含頭部與數據的總長度
Identification數據包唯一 ID,用于分片重組
Flags分片控制位
Fragment Offset分片偏移量
Time to Live(TTL)生存時間,防止包在網絡中無限循環
Protocol數據部分所用的上層協議(如 TCP、UDP)
Header Checksum頭部校驗和
Source Address源 IP 地址
Destination Address目的 IP 地址
Options(可選)安全性、記錄路由等附加信息

IPv4 的設計雖然精巧,但隨著互聯網發展,地址資源逐漸枯竭,這也促使了 IPv6 的推廣。


3. IPv6頭部結構解析

在這里插入圖片描述

IPv6 相較于 IPv4 更為簡潔高效,僅包含 8 個字段:

字段名說明
Version協議版本(6)
Traffic Class類似 IPv4 的 ToS,用于服務分類
Flow Label流標簽,標記數據流以便路由器識別
Payload Length數據部分長度
Next Header下一個頭部類型(如 TCP、UDP)
Hop Limit與 TTL 類似,防止無限轉發
Source Address源 IPv6 地址
Destination Address目的 IPv6 地址

IPv6 采用 128 位地址,極大地擴展了地址空間,并簡化了處理流程。


4. 網絡抓包實戰:Wireshark的使用

要理解或調查網絡中發生了什么,僅靠理論還不夠。Wireshark 是一款開源網絡協議分析工具,能夠實時捕捉網絡流量,并以人類可讀的方式展示每個數據包的詳細內容。

Wireshark基本功能

  • 實時捕獲網絡數據包
  • 展示每個包的協議、源/目的地址、端口、長度等
  • 支持協議層級解析(鏈路層、IP層、傳輸層、應用層)
  • 使用強大的過濾器進行精確分析

常用顯示過濾器

Wireshark 提供強大的顯示過濾器功能,可以從海量數據包中篩選出你感興趣的信息。
在這里插入圖片描述

協議過濾器

協議過濾是使用顯示過濾器最簡單的方法之一。您只需輸入要過濾的協議名稱即可。例如,要過濾 DNS 數據包,只需在過濾器工具欄中輸入dns即可。以下是一些可以過濾的協議列表:

  1. dns
  2. http
  3. ftp
  4. ssh
  5. arp
  6. telnet
  7. icmp

過濾 IP 地址

您可以使用顯示過濾器來定位具有特定 IP 地址的數據包。

例如,如果要過濾包含特定 IP 地址的數據包,請使用ip.addr,后跟空格、等號==比較運算符以及 IP 地址。以下是針對 IP 地址172.21.224.2進行過濾的顯示過濾器示例:

ip.addr == 172.21.224.2

要過濾來自特定源 IP 地址的數據包,可以使用ip.src過濾器。以下示例查找源 IP 地址10.10.10.10 :

ip.src == 10.10.10.10

要過濾發往特定目標 IP 地址的數據包,可以使用ip.dst過濾器。以下示例搜索目標 IP 地址4.4.4.4 :

ip.dst == 4.4.4.4

過濾 MAC 地址

您還可以根據媒體訪問控制 (MAC) 地址過濾數據包。MAC 地址是分配給網絡上每個物理設備的唯一字母數字標識符。

eth.addr == 00:70:f4:23:18:c4

端口過濾器

端口過濾用于根據端口號過濾數據包。當您想要隔離特定類型的流量時,此功能非常有用。DNS 流量使用 TCP 或 UDP 端口 53,因此這將僅列出與 DNS 查詢和響應相關的流量。

例如,如果想過濾 UDP 端口:

udp.port == 53

同樣,也可以過濾 TCP 端口:

tcp.port == 25

使用比較運算符

運算類型符號示例
相等(equal)==eqip.src == 8.8.8.8
不等(not equal)!=neip.dst != 192.168.1.1
大于(greater than)>gttcp.port > 1000
小于(less than)<ltudp.port < 1024
大于等于(>=)>=getcp.port >= 80
小于等于(<=)<=letcp.port <= 443

Follow TCP/UDP Stream:追蹤會話流

Wireshark 提供“Follow Stream”功能,可以將某個會話的數據包重新組合成完整的通信內容,非常適合分析 HTTP 請求與響應等應用層數據。

在這里插入圖片描述
操作步驟:

  • 右鍵點擊任意相關數據包
  • 選擇 Follow > TCP StreamUDP Stream
  • 查看重組后的對話內容

Reference

[1] https://www.wireshark.org/docs/wsug_html/

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

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

相關文章

IPv4網絡地址分類

目錄 一、核心分類標準 二、詳細范圍與主機數量 1. A類網絡&#xff08;超大規模網絡&#xff09; 2. B類網絡&#xff08;中大型網絡&#xff09; 3. C類網絡&#xff08;小型網絡&#xff09; 三、三類網絡對比表 四、保留地址說明 五、現代網絡中的變化 六、主機數…

Qt:QCustomPlot庫簡介

QCustomPlot 是一個基于 Qt 框架的輕量級 C 繪圖庫&#xff0c;專為高效繪制二維圖表&#xff08;如曲線圖、柱狀圖、金融圖表等&#xff09;而設計。相比 Qt Charts 模塊&#xff0c;它以 高性能 和 高度可定制性 著稱&#xff0c;尤其適合需要實時數據可視化的科學計算、工業…

【云桌面容器KasmVNC】如何關閉SSL使用HTTP

1 緣起 根據實際的訴求,調整實現方式。 為用戶提供云瀏覽器(通過瀏覽器訪問遠程瀏覽器),多用戶的每個任務提供資源隔離的云瀏覽器。 該功能,由同事祥嵩曾調研與開發,使用KasmVNC實現功能,非常佩服祥嵩,無論是技術廣度還是技術深度都是杠杠滴,無可挑剔。 實際的訴求是…

跟著AI學習C#之項目實戰-電商平臺 Day5

&#x1f4c5; Day 5&#xff1a;訂單提交與支付模擬 ? 今日目標&#xff1a; 創建 Order 和 OrderItem 模型實現從購物車生成訂單的功能模擬支付流程&#xff08;成功/失敗頁面&#xff09;添加訂單狀態跟蹤&#xff08;如“待付款”、“已發貨”等&#xff09;提交 Git 版…

復雜驅動開發-TLE9471的休眠流程與定時喚醒

文章目錄 前言休眠流程定時喚醒功能總結 前言 開發SBC時非常重要的一環就是開發休眠流程&#xff0c;其目的是為了保證接KL30的ECU在休眠模式下盡可能小的消耗低壓蓄電池的電量&#xff0c;防止車輛放置長時間后出現虧電。而定時喚醒功能在部分ECU中會有需求休眠后定期對車輛狀…

Spark 之 Reuse

src/main/scala/org/apache/spark/sql/execution/reuse/ReuseExchangeAndSubquery.scala case object ReuseExchangeAndSubquery extends Rule[SparkPlan] {def apply(plan: SparkPlan): SparkPlan = {if (conf.exchan

Solidity學習 - 錯誤處理

文章目錄 前言EVM錯誤處理機制EVM錯誤處理的核心特性程序中的錯誤處理 錯誤拋出方法require()函數require()觸發異常的場景關鍵特性 assert()函數assert()觸發異常的場景關鍵特性 require() vs assert()&#xff1a;選擇指南revert()函數關鍵特性 異常捕獲&#xff1a;try/catc…

如何永久刪除Android上的短信[無法恢復]

當您不再保留 Android 設備時&#xff0c;您將需要徹底刪除所有私人數據&#xff0c;包括短信。因此&#xff0c;有必要了解如何永久刪除Android上的短信。現在&#xff0c;閱讀本指南&#xff0c;掌握消除信息的實用方法。 第 1 部分&#xff1a;如何一鍵永久刪除 Android 上的…

P12894 [藍橋杯 2025 國 Java B] 智能交通信號燈

[Problem] \color{blue}{\texttt{[Problem]}} [Problem] 給定一個長度為 n n n 的數組 a 1 … n a_{1\dots n} a1…n?&#xff0c;進行 m m m 次一下操作&#xff1a; 給定 l , r l,r l,r&#xff0c;求出 ∑ l ≤ i < j ≤ r mex { a i , a j } \sum\limits_{l \le…

華為云Flexus+DeepSeek征文|基于華為云一鍵部署的 Dify-LLM 平臺構建智能試卷生成助手

目錄 前言 1 華為云Dify-LLM應用平臺部署 1.1 一鍵部署平臺簡介 1.2 四步完成部署流程 2 接入華為云 DeepSeek 自定義大模型 2.1 ModelArts Studio 模型服務介紹 2.2 配置自定義大模型 3 創建試卷生成工具&#xff08;工作流&#xff09; 3.1 設計 DSL 工作流 3.2 工…

嵌入式硬件與應用篇---寄存器GPIO控制

在 ARM 架構中&#xff0c;通過 32 位寄存器控制 GPIO&#xff08;通用輸入輸出&#xff09;的核心步驟和方法可分為以下幾個關鍵環節&#xff0c;結合不同芯片的實現差異&#xff0c;具體操作需參考對應的數據手冊&#xff1a; 一、GPIO 控制的核心步驟 1. 使能 GPIO 時鐘 …

Fiddler中文版抓包工具在跨域與OAuth調試中的深度應用

跨域和OAuth授權流程一直是Web和移動開發中最容易踩坑的領域。復雜的CORS配置、重定向中的Token傳遞、授權碼流程的跳轉&#xff0c;以及多域名環境下的Cookie共享&#xff0c;常常讓開發者陷入調試困境。此時&#xff0c;一款能夠精準捕獲、修改、重放請求的抓包工具顯得至關重…

React用戶交互事件

在React中處理用戶交互事件&#xff08;如點擊、輸入、提交等&#xff09;的方式與原生JavaScript類似&#xff0c;但有一些語法差異和最佳實踐。以下是常見交互事件的處理方法及代碼示例&#xff1a; 一、基本事件處理&#xff08;點擊、輸入等&#xff09; 1. 點擊事件&…

DHT11 STM32 HAL驅動庫 整數

dht11.h #ifndef __DHT11_H #define __DHT11_H#include "stm32f1xx_hal.h" // 根據實際芯片型號調整&#xff08;如stm32f4xx_hal.h&#xff09;// DHT11數據結構 typedef struct {GPIO_TypeDef *GPIOx; // GPIO端口&#xff08;如GPIOA&#xff09;uint16_t GP…

【Actix Web 精要】Rust Web 服務開發核心技術與實戰指南

目錄 一、Actix Web 核心架構解析1.1 核心組件交互流程1.2 關鍵組件說明&#xff1a; 二、項目初始化與配置2.1 創建項目2.2 添加依賴 (Cargo.toml)2.3 項目結構 三、核心模塊實現3.1 配置管理 (src/config.rs)3.2 應用狀態管理 (src/main.rs)3.3 數據模型 (src/models/user.rs…

從URL到視頻:用Python和AI構建自動化內容講解視頻生成管道

摘要 本文旨在從技術層面&#xff0c;深入探討并實踐一個將任意網頁鏈接&#xff08;如飛書文檔、博客文章&#xff09;自動轉換為帶有配音和字幕的講解視頻的系統。我們將詳細拆解整個實現流程&#xff0c;覆蓋從內容抓取與解析、利用大語言模型&#xff08;LLM&#xff09;智…

Java 使用 Easy Excel 進行 Excel 數據導入導出

1. 通過 Maven 下載 Easy Excel 依賴包 在項目的 pom.xml 文件中添加以下依賴&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version> <!-- 使用最新版本 -->…

國產化條碼類庫Spire.Barcode教程:如何使用 C# 讀取 PDF 中的條碼(兩種方法輕松實現)

在 PDF 文檔的 .NET 平臺處理流程中&#xff0c;使用 C# 讀取 PDF 條碼 是一項常見需求&#xff0c;特別適用于處理掃描件或電子表單。無論是物流、金融、醫療還是制造行業&#xff0c;PDF 文檔中經常包含用于追蹤或識別的條碼。這些條碼可能是嵌入圖像&#xff0c;也可能是矢量…

2023國賽數字取證-流量分析

數據取證 - 1 A 集團的?絡安全監控系統發現惡意份?正在實施?級可持續攻擊&#xff08;APT&#xff09;&#xff0c;并抓取了部分可疑流量包。請 您根據捕捉到的流量包&#xff0c;搜尋出?絡攻擊線索&#xff0c;分解出隱藏的惡意程序&#xff0c;并分析惡意程序的?為。 …

【預約小程序】-健身房預約課程小程序——仙盟創夢IDE

東方仙盟-坐擁萬個代碼 免費報表 阿雪技術觀 讓我們積極投身于技術共享的浪潮中&#xff0c;不僅僅是作為受益者&#xff0c;更要成為貢獻者。無論是分享自己的代碼、撰寫技術博客&#xff0c;還是參與開源項目的維護和改進&#xff0c;每一個小小的舉動都可能成為推動技術進…