網路抓包分析工具軟體:網路抓包工具哪個好

在處理IP網路的故障時,經常使用乙太網抓包工具來查看和抓取IP網路上某些埠或某些網段的數據包,並對這些數據包進行分析,定位問題。

在 IMON項目里,使用抓包工具抓包進行分析的場景在EPG採集、引流模塊和軟終端監看模塊,一般情況下EPG 採集和引流模塊比較穩定,軟終端監看還涉及SS5代理,這部分出問題的幾率比較大,這時就有可能要現場維護人員抓包進行分析、排查、定位問題,確定是網路問題還是軟體問題,如果是軟體問題則要將抓回的包發給研發解決。

EPG 抓包可分為對鑒權過程、採集過程抓包驗證,主要是通過通過抓包分析與IPTV 鑒 權伺服器之間的TCP交互。

流媒體交互抓包可分為對組播、點播進行抓包,一般交互的協議分為IGMP、RTSP、RTMP等,組播一般是基於UDP的IGMP流,點播是基於RTP的RTSP流或基於TCP的RTMP流。

軟終端抓包主要是抓取軟終端與IPTV伺服器交互、SS5與IPTV伺服器交互的數據包,一般跟流媒體交互的報文協議差不多,也是分為組播IGMP 、點播 RTSP等協議,不過經過測試發現江蘇的部分組播(可能是用戶不同所致)發送的是RTSP的包。

Fiddler

Fiddler 是一個使用 C# 編寫的 http 抓包工具。它使用靈活,功能強大,支持眾多的 http 調試任務,是 web、移動應用的開發調試利器。所以 Fiddler 經常被運用在網路爬蟲抓包、HTTP API 測試、手機抓包等場景。

推薦原因:

操作簡單,上手容易,學習成本低。

能夠抓取 HTTP/HTTPS 協議的數據包。

支持偽造 CA 證書來欺騙瀏覽器和伺服器,從而實現解密 HTTPS 數據包。

不僅支持抓取 PC 瀏覽器的數據包,而且支持抓取手機數據包。

支持設置「斷點」,從而能夠修改 HTTP 的請求頭信息以及請求體的數據。

關注公眾號:軟體測試資源分享 回復:工具Fiddler 自動獲取工具包

Charles

Fiddler 雖然強大且好用,但是不支持 Mac OS 系統。Charles 是 Fiddler 在 Mac 系統上的代替品。目前 Charles 算是 Mac 系統上最好用的抓包工具。它使用 Java 語言開發的,所以安裝以及使用之前,要事先安裝好 Java 環境。另外,它還支持 Windows、Linux 等操作系統。

推薦原因:

  • 同樣操作簡單,使用方便。
  • 支持捕獲 HTTP/HTTPS 的數據包
  • 支持修改網路請求參數
  • 支持截獲網路請求並動態修改
  • 支持流量控制。可以模擬慢速網路以及等待時間(latency)較長的請求。
  • 支持AJAX調試。可以自動將json或xml數據格式化,方便查看。

Wireshark

Wireshark 也可以在各個平台都可以安裝使用,不過它的功能側重點和 Charles&Fiddler 有所不同,它主要用來抓取網路中的所有協議的數據報文,對於分析網路協議以及網路問題方面非常專業!

Wireshark 工具的優點:①可以選擇特定的網卡進行流量的捕獲,那麼就只會抓取關心的網卡經過的數據,針對性很強;

②可以抓取所有協議的報文,並且抓取的報文可以完整的以 OSI 七層網路模型的格式顯示,可以清晰的看到客戶端和伺服器之間每一個交互報文,以及每一個數據包的網路各層級的詳細內容顯示。所以,這個工具抓包非常適合學習和分析網路協議。

③提供了非常強大的過濾規則。Wireshark 可以提供捕獲前過濾,也可以捕獲後過濾,並且過濾規則非常詳細,可以實現精度和細粒度非常高的包過濾;可以結合 TCPdump 使用,分析線上伺服器(Linux 系統)下抓取的數據報文,定位線上問題。

Wireshark 工具的缺點:

如果要靈活的使用它需要具備一定的網路基礎,對於初學者有一定的難度;

無法分析 https 數據包,由於 wireshark 是在鏈路層獲取的數據包信息,所以獲取到的 https 包是加密後的數據,因此無法分析包內容。當然,我們可以對 https 數據包進行解密, 但是操作具有一定的複雜度,可能要消耗很多時間。

關注公眾號:軟體測試資源分享 回復:工具Wireshark 自動獲取工具包

BurpSuite

Burpsuite 工具也是基於 Java 語言開發的,所以它也可以跨各平台使用,包括Windows,MacOS 及 Linux 等系統平台。

Burpsuite 可以提供抓包功能,它的工作方式同樣也是在瀏覽器和網站之間做了代理從而實現報文截取的;也能夠修改數據內容並轉發的功能;甚至還可以選擇使用爬蟲爬下網站相關的數據…

但是,它絕對不僅僅是一款抓包工具,它集成了很多實用的小工具可以完成更加強大的功能,比如 http 請求的轉發、修改、掃描等。同時這些小工具之間還可以互相協作,在 BurpSuite 這個框架下進行定製的攻擊和掃描方案。

所以這個工具很多功能測試的人員會使用它進行報文抓取和篡改數據,很多安全測試人員會借用它進行半自動的網路安全審計,開發人員也可以使用它的掃描工具進行網站壓力測試與攻擊測試,功能作用範圍更加廣泛。

不過它也有自己的缺點,就是不免費!每個用戶一年的費用為 299$,使用成本相對來說有點高。

F12

F12 是眾多抓包工具中最簡單、最輕量級的,因為它是瀏覽器內置的開發者工具來提供捕獲瀏覽器的數據報文的功能。它免安裝,直接打開瀏覽器就可以直接使用,所有使用非常好上手,適合入門級別的新手學習。

它主要針對的是 HTTP 協議和 HTTPS 協議, 可以確認我們的網路數據包的一個狀態, 通過分析請求和響應報文裡面的內容, 分析出來請求數據和響應數據是否正確, 定位問題是前端問題還是後端問題。

而且 F12 作為瀏覽器的一部分,是數據收發的一端,抓取到的 HTTPs 報文是可以得到明文數據的;不過因為只能抓當前瀏覽器的收發報文,層次只能是在應用層 Http(s)協議,不能抓取其他的數據報文。

雖然 F12 抓包調試也能滿足我們基本的測試工作需求,但是作用面和強大性和其他的抓包工具還是有一定差距的。

TCPdump

TCPdump 是專門作用於 Linux 命令行的抓包工具,它可以提供非常多的參數來對網路數據包進行過濾和定義。

而它抓取到的報文可以直接列印在 Linux 的命令行界面,也可以進行保存成文件,並用 Wireshark 工具打開進行更加細緻的分析。

1、tcpdump 的選項介紹

-a將網路地址和廣播地址轉變成名字;

-d將匹配信息包的代碼以人們能夠理解的彙編格式給出;

-dd將匹配信息包的代碼以c 語言程序段的格式給出;

-ddd將匹配信息包的代碼以十進位的形式給出;

-e在輸出行列印出數據鏈路層的頭部信息;

-f將外部的Internet 地址以數字的形式列印出來;

-l使標準輸出變為緩衝型形式;

-n不把網路地址轉換成名字;

-t在輸出的每一行不列印時間戳;

-v輸出一個稍微詳細的信息,例如在ip 包中可以包括ttl 和服務類型的信息;

-vv輸出詳細的報文信息;

-c在收到指定的包的數目後,tcpdump 就會停止;

-F從指定的文件中讀取表達式,忽略其它的表達式;

-i指定監聽的網路介面;

-r從指定的文件中讀取包(這些包一般通過-w 選項產生 );

-w直接將包寫入文件中,並不分析和列印出來;

-T將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網路管理協議; )

Linux系統下測試

軟終端在通過SS5代理伺服器進行接入IPTV 環境時,可能需要到 SS5所在的代理伺服器上去抓包,抓包方式就是通過TCPDUMP命令來抓取,一般我們把與IPTV網口相關的所有包都抓下來存為PCAP文件進行分析。

抓包命令為tcpdump -i eth1 -wxx.pcap,這樣可以把抓過來的包保存到linux 伺服器的用戶登錄當前文件夾下,然後通過SSH 傳到本地進行分析,當然了也可以通過過濾規則抓包,詳見TCPDUMP的常用命令。

總結

綜上所述,測試可以用的抓包工具非常多,然而它們各有各的優勢,也有對應的不足,所以根據自己的使用場景,選擇最適合的抓包工具才是最重要的!

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/225482.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:44
下一篇 2024-12-09 14:44

相關推薦

發表回復

登錄後才能評論