天天看點

「網絡攻防」常見的幾種網絡抓包及協定分析工具

作者:信安傳遞

Wireshark

Wireshark 是免費的抓取資料包、分析資料包的工具,相容 Windows、Linux、Mac等主流平台。

使用 wireshark 抓包需要的工具是:安裝了 wireshark 的 PC。

wireshark 抓包的範圍是:抓取安裝了 wireshark 的 PC 本機的網卡上流經的資料包。

其中,網卡指的是 PC 上網使用的子產品,常見的包括:以太網網卡、wifi 無線網卡,PC 分别使用它們用于連接配接以太網、wifi 無線網絡。

linux 或在 windows 下分别可使用 ifconfig 指令或者 ipconfig /all指令檢視目前情況 PC 上已經安裝了哪些網卡。以 linxu 系統為例子,在 linux 輸入 ifconfig指令:

「網絡攻防」常見的幾種網絡抓包及協定分析工具

$ ifconfig

enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

ether 40:89:84:3c:6b:60 txqueuelen 1000 (以太網)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

device interrupt 16

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 1000 (本地環回)

RX packets 12251 bytes 1382881 (1.3 MB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 12251 bytes 1382881 (1.3 MB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255

inet6 fe80::2ffd:2ae9:e62a:a40b prefixlen 64 scopeid 0x20<link>

ether 1c:d0:5a:4b:7d:d2 txqueuelen 1000 (以太網)

RX packets 398700 bytes 540655478 (540.6 MB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 149381 bytes 20219957 (20.2 MB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

上述指令顯示該台 linux 主機有兩個網卡:一個以太網網卡:enp2s0,一個無線網卡:wlp3s0。

windows 下可以打開 cmd 視窗,輸入 ipconfig /all 檢視本機的網卡情況:

「網絡攻防」常見的幾種網絡抓包及協定分析工具

在使用 wireshark 時,可以選中這查詢到的本機網卡,抓取通過以太網網卡的資料或者通過 wifi 無線網卡互動的資料。

「網絡攻防」常見的幾種網絡抓包及協定分析工具

**注意:**打開 wireshark 軟體時,可能需要打開管理者權限才能正确打開上述界面。linux 下打開 wireshark 軟體時,使用 sudo wireshark,指令打開它;windows 下打開 wireshark 時,右鍵選擇以管理者權限打開。

一些 wireshark 使用的示例可參考 wireshark基本使用(如果你感興趣,可以留言或者點贊,你的支援,就是我的動力奧)。

wireshark 通常隻能抓取本機(通常是電腦)網卡的發送和接受的網絡資料,不能抓取其他主機、其他網絡裝置如路由器的網絡資料。當一些裝置是簡單的網絡裝置,如手環、手機時,這些裝置無法安裝 wireshark,此時便無法通過這種方法進行抓包分析。

帶抓包功能的路由器

路由器是網絡環境中轉發資料的裝置,現在的路由器不僅提供以太網網線連接配接的功能,也充當 wifi 連接配接熱點,有時為了分析網絡資料,定位網絡問題,擁有一台帶抓包功能的路由器實在是開發人員的福利。

一些路由器提供了 開發者選項的功能,如這款華為 P20 型号的路由器,通過網頁登陸路由器後,可以看到它提供了如圖 2-1 所示的系統設定功能,在該選項下,可以使用如圖 2-2 所示的“開發者選項”功能,該功能可以用于抓取流經路由器的資料包。但是,目前考慮到一些資料安全問題,擁有該功能的路由器不多,但對于網絡裝置的開發者而言,擁有一台這樣的路由器是在是友善很多了。

「網絡攻防」常見的幾種網絡抓包及協定分析工具
「網絡攻防」常見的幾種網絡抓包及協定分析工具

路由器抓包功能可以抓取大部分流經路由器的資料,這為在一台主機 A 上,抓取區域網路内另一台主機B的網絡資料提供了方法(因為A與B連接配接的是同一個路由器,A <–>路由器<–>B,啟動抓包後,經過路由器的資料包被記錄下來,A 可以檢視記錄的資料包,分析主機B 的網絡情況 )。如圖 2-3,在 A 主機上,登陸路由器的網頁,并點選開始抓包,抓取一定時間後,點選結束抓包,稍等一段時間後将提示正在下載下傳抓取的資料封包件。在示例中,該檔案為 如圖 2-3 右上角pktDump.cap檔案,它可以通過 wireshark 軟體打開,并進行分析。

「網絡攻防」常見的幾種網絡抓包及協定分析工具

圖 2-3

如圖,在 wireshark 的資料包過濾選項中輸入主機 B 的網卡 mac 位址,可以在主機 A 上檢視 主機 B 發送到路由器以及路由器轉發資料到主機 B 的資料(即主機 B發送和接收的資料)。

「網絡攻防」常見的幾種網絡抓包及協定分析工具

圖 2-4

抓包網卡

抓包網卡是一種特殊的網卡,通常用于作為網絡嗅探、網絡掃描。當通信雙方既不是能安裝類似 wireshark 抓包工具,也不是能提供抓包功能的路由器時。比如通信雙方是兩個 wifi 模組(沒有螢幕、鍵盤、windows/linux 系統)時,我們就無法使用上述兩種方法實作抓取 A 和 B 的資料包了。一種常用的方法是使用抓包網卡,并配合特殊的抓包軟體 Omnipeek(全稱 WildPackets Omnipeek,空中無線抓包,并提供網絡故障診斷功能),抓取并分析 A 和 B 的資料包。

如圖 3-1 所示,A、B、C 三個主機在進行無線通信,抓包網卡 Omnipeek 的作用類似于一個“雷達”,接收它們三者的通信流量。其會将接收的通信資料儲存到一個檔案内,該檔案可以被 wireshark 等網絡分析軟體打開分析。

「網絡攻防」常見的幾種網絡抓包及協定分析工具

圖 3-1

常見的 Omnipeek 抓包網卡形狀如下,它們有的像 U 盤,有的像天線。感謝強大的網際網路,在很多電商平台上,搜尋 抓包網卡,我們就能看到很多類似的裝置:

「網絡攻防」常見的幾種網絡抓包及協定分析工具

圖 3-2

同樣的,搜尋關鍵字OmniPeek,我們也能看到一些如何安裝及使用 OmniPeek軟體的教程。

如果感興趣,後續我将提供兩個典型的案例,簡要說明如何使用這種方法進行抓包(點贊更新快)。

其他抓包軟體或者工具

就如同使用電工師傅測量電路的電流、電壓一樣,網絡開發維護人員使用上述網絡分析工具測量網絡情況。除上述幾種網絡抓包分析工具外,常見的網絡分析工具還有 Wirelessmon、Inssider、ixia chariot和 iperf 等工具,讀者可自行搜尋并了解它們。

點關注,不迷路。關注我,及時擷取後續更新,Thanks.

碼字不易,歡迎點贊及收藏。

————————————————

版權聲明:本文為CSDN部落客「物聯網老王」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/wangyx1234/article/details/123171856

繼續閱讀