網絡抓包工具有什么用 比較好的抓包工具



文章插圖
網絡抓包工具有什么用 比較好的抓包工具

文章插圖
在處理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 的數據包支持修改網絡請求參數支持截獲網絡請求并動態修改支持流量控制 ??梢阅M慢速網絡以及等待時間(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的常用命令 。
總結
綜上所述,測試可以用的抓包工具非常多,然而它們各有各的優勢,也有對應的不足,所以根據自己的使用場景,選擇最適合的抓包工具才是最重要的!