利用鯊魚攔截網路封包 – Wireshark

Wireshark 是一種用於創建和分析 PCAP(網路封包攔截文件)的工具,通常被用作最好的數據包分析工具之一。

安裝

apt install wireshark

https://www.wireshark.org/download.html

簡介

打開 Wireshark 時,我們看到的第一個屏幕是主頁,它允許我們指定我們的接口以及應用過濾器來縮小我們正在捕獲的流量。

在這裡你可以看到我有多個接口要過濾,你可能有比我更多或更少的接口。 從這裡我們可以選擇是要在我們的界面上執行實時捕獲還是加載 PCAP 進行分析。

需要注意的是,接口名稱旁邊的圖形顯示了接口上的活動,如果接口有一個扁平條,那麼嘗試捕獲它可能是無用的(因為該接口上沒有數據被Wireshark 客戶端)

查看上面的屏幕截圖,我們看到了一個示例捕獲。您將在此屏幕上對數據包進行大部分分析和剖析。要打開數據包捕獲,請轉到文件 > 打開 > 並選擇要分析的 PCAP。

在此屏幕上,Wireshark 為我們提供了有關每個數據包的一些重要信息,包括:

  • 包號
  • 時間
  • 來源
  • 目的地
  • 協議
  • 長度
  • 數據包信息

除了快速的數據包信息外,Wireshark 還按照危險級別和協議對數據包進行顏色編碼,以便能夠快速發現捕獲中的異常和協議。

這種對數據包信息的快速瀏覽對於在分析過程中準確追踪您要查找的內容非常有用。

收集方法

MAC Floods

MAC Floods 是紅隊常用的一種策略,作為主動嗅探數據包的一種方式。MAC Flooding 旨在對交換機施加壓力並填充 CAM 表。一旦 CAM 表被填滿,交換機將不再接受新的 MAC 地址,因此為了保持網絡活躍,交換機將向交換機的所有端口發送數據包。

注意:應極其謹慎地使用此技術並獲得明確的事先同意。

ARP Poisoning

ARP 中毒是紅隊用來主動嗅探數據包的另一種技術。通過 ARP 中毒,您可以將流量從主機重定向到您正在監控的機器。這種技術不會對像 MAC Flooding 這樣的網絡設備造成壓力,但仍應謹慎使用,並且僅當其他技術(如網絡分路器)不可用時才使用。

數據過濾

Wireshark 的過濾器語法易於理解,易於快速掌握。

  • 和 :and / &&
  • 或 :or / ||
  • 等於 :eq / ==
  • 不等於:ne / !=
  • 大於 :gt / >
  • 小於 :lt / <

基本過濾

過濾為我們提供了一個非常大的範圍,我們可以對數據包做些什麼,因此可以有很多不同的過濾語法選項。我們將只介紹這個房間的基礎知識,例如按 IP、協議等進行過濾。有關過濾的更多信息,請查看Wireshark 過濾文檔

過濾器命令有一個通用語法,但有時它們可能有點傻。Wireshark 過濾器的基本語法是某種服務或協議,如 ip 或 tcp,後跟一個點,然後是被過濾的任何內容,例如地址、MAC、SRC、協議等。

按 IP 過濾:我們將查看的第一個過濾器是 ip.addr,該過濾器將允許您梳理流量,並且僅查看包含在這些數據包中的具有特定 IP 地址的數據包,無論是來自源還是目標。 

語法: ip.addr == <IP Address>

這個過濾器在實際應用中很方便,比如當你正在尋找威脅,並用其他工具識別出一個潛在的可疑主機時,你可以使用 Wireshark 進一步分析來自該設備的數據包。

按 SRC 和 DST 過濾:第二個過濾器將查看二合一以及過濾器運算符:ip.src 和 ip.dst。這些過濾器允許我們通過流量來自的來源和目的地來過濾流量。

語法: ip.src == <SRC IP Address> and ip.dst == <DST IP Address>

與第一個過濾器類似,我們可以看到 Wireshark 正在根據我們設置的源和目標對數據包進行梳理和過濾。

按 T​​CP 協議過濾:我們將介紹的最後一個過濾器是協議過濾器,它允許您設置要過濾的端口或協議,並且在嘗試跟踪正在使用的異常協議或端口時可以很方便。

值得一提的是,Wireshark 可以通過端口號和協議名稱進行過濾。

語法: tcp.port eq <Port #> or <Protocol Name>

按 UDP 協議過濾:您還可以通過將前綴從 tcp 更改為 udp 來按 UDP 端口過濾

語法: udp.port eq <Port #> or <Protocol Name>

剖析數據包

數據包詳情

您可以雙擊捕獲中的數據包以打開其詳細信息。數據包由基於 OSI 模型的 5 到 7 層組成。我們將在來自示例捕獲的 HTTP 數據包中查看所有這些。

從上面看,我們可以看到數據包的 7 個不同層:幀/數據包、源 [MAC]、源 [IP]、協議、協議錯誤、應用協議和應用數據。下面我們將更詳細地介紹這些層。

  • 幀(第 1 層)——這將顯示您正在查看的幀/數據包以及特定於 OSI 模型物理層的詳細信息。
  • Source [MAC] (Layer 2) — 這將顯示源和目標 MAC 地址;來自 OSI 模型的數據鏈路層。
  • Source [IP] (Layer 3) — 這將顯示源和目標 IPv4 地址;來自 OSI 模型的網絡層。
  • 協議(第 4 層)——這將向您顯示所使用的協議 (UDP/TCP) 以及源和目標端口的詳細信息;來自 OSI 模型的傳輸層。
  • 協議錯誤——這是第 4 層的延續,顯示了來自 TCP 的需要重新組裝的特定段。
  • 應用程序協議(第 5 層)——這將顯示特定於正在使用的協議的詳細信息,例如 HTTP、FTP、SMB 等。來自 OSI 模型的應用程序層。
  • 應用程序數據——這是第 5 層的擴展,可以顯示特定於應用程序的數據。

Back To Top
error: 內容被保護 !!