1. 程式人生 > >主要抓包工具介紹與對比

主要抓包工具介紹與對比

 

1、Wireshark:通用的抓包工具,抓取資訊量龐大,需要過濾才能得到有用的資訊,只有HTTP請求有點大材小用

2、Firebug、HttpWatch等web除錯工具:不夠給力,功能欠缺

3、Charles:各有千秋,MAC上對Charles支援更好

4、Fiddler:概念

1)Fiddler是位於客戶端和伺服器的Http代理,它能記錄所有客戶端和伺服器的Http和Https請求響應,進行截獲、重發、編輯、轉存等操作。

2)允許監視,設定斷點,甚至修改輸入輸出的資料,Fiddler包含了一個強大的基於事件指令碼的子系統,並且能使用.net語言進行擴充套件。

 

Fiddler介面概述

 

主選單

 

File:

Capture Traffic:啟用或者停止捕獲功能,F12;

 

Edit:

1、Copy:複製Session到剪下板;

2、Remove:移除Session;

3、UNdelete:恢復之前刪除的Sessions;

4、Mark:標記所選擇的Session;

5、Find Session:查詢Session

 

Rules:

1、Automatic Breakpoints:斷點控制;

2、Customize Rules:開啟fiddler script檔案

3、Require Proxy Authentication:需要代理驗證碼;

4、User-Agents:支援把User-Agent請求頭設定或替換成指定值;

5、Performance:提供影響web效能的簡單選項:

  1)Simulate Modem speeds:模擬調變解調器速度;

  2)Disable Caching:禁止快取

  3)Show Time-to-last-Byte:顯示TTLB

 

Tools:

1、Fiiddler Options:Fiddler選項;

2、WinNET Options:IE瀏覽器 WinINET選項;

3、Text Encode/Decode:文字編碼/解碼;

4、Hosts:hosts配置;

 

View:

AutoScroll Session List:自動滾動Session列表

 

Help:

 

快捷選單欄

 

Replay:

重新發送選中的請求

 

Go:

打斷點時用

 

兩種監聽模式:

選中為Streaming Mode流模式,不選中為Buffering Mode緩衝模式

1、Buffering Mode 緩衝模式:內容全部返回後再發送到客戶端;可以響應控制,修改響應資料。但是時序圖有時候會出現異常。

2、Streaming Mode 流模式:收到內容立即傳送給客戶端,更接近真實瀏覽器的效能。速度快,時序圖更準確(比如瀑布圖),但是不能控制響應。

如果不需要“AutoResponse 和 Filter”功能的話,一般建議使用Stream模式。

 

Decode:

預設勾選,如果返回的資料是加密的,就自動解密。

 

TextWizard:

編碼小工具

 

Keep All Session:

會話列表保留多少會話

 

Any Process:

讓Fiddler只針對某個Process進行Debugging

 

會話列表

 

欄目

1、Result:http響應狀態

2、Protocol:請求使用的協議

3、Host:請求地址域名

4、URL:請求的伺服器路徑和檔名,也包括Get引數

5、BODY:請求的大小,以byte為單位

6、Caching:請求的快取過期時間或快取控制header等值

7、Content-Type:請求響應的時間

8、Process:發出此請求的Windows程序及程序ID

9、Comments:使用者通過指令碼或者右鍵選單給此session增加的備註

10、Custom:使用者可以通過指令碼設定的自定義值

 

圖示

1、紅色表示錯誤

2、黃色表示驗證請求

3、通訊型別(灰色表示HTTPS連結)

4、響應型別(紫色表示Css,藍色表示HTML,綠色表示JS指令碼,灰色表示圖片)

 

右鍵選單

1、Decode Selected Sessions:如果請求使用了GZIP壓縮,就解碼

2、Replay:

1)Reissue Request:重新請求此地址

 

請求檢視器

1、Headers:請求頭資訊顯示為一個分級檢視,包含了Web客戶端資訊、Cookie、傳輸狀態等。

2、TextView:顯示POST請求的body部分為文字。

3、SyntaxView:顯示指令碼(安裝SyntaxView外掛)
4、WebForms:

1)以直觀的介面顯示QueryString的值和Body的值

2)這裡的body應該是application/x-www-form-urlen-coded格式

5、HexView:請求內容的16進位制顯示

6、Auth:顯示header中的Proxy-Authorization和Authorization資訊

7、Cookies:以直觀的介面顯示Header中的Cookie的值

8、Raw:將整個請求顯示為純文字

9、Json:通過Json格式顯示

10、XML:如果通過請求的body是XML格式,就是分級的XML樹來顯示它

 

響應檢視器

1、Transformer:響應資訊的壓縮編碼格式

2、Headers:用分級檢視顯示響應的Header

3、TextView:使用文字顯示相應的body

4、SyntaxView:顯示指令碼(安裝SyntaxView外掛)

5、ImageView:響應內容如果是圖片則顯示圖片:

1)左側灰色區域會顯示圖片的大小、寬高、檔案格式等資訊

2)在下方還可以選擇縮放模式:自動縮放、縮放以適應顯示區域大小、無縮放

6、HexView:響應內容的16進位制顯示

7、Raw:將整個響應顯示為純文字

8、JSON:通過JSON格式顯示

9、XML:如果響應的body是XML格式,就是用分級的XML樹來顯示它

 

QuickExec命令列

 

Fiddler主要功能講解

 

Fiddler捕獲設定

1、fiddler抓網站請求:

1)Tools >>>WinINET Options..

2)Connections:Act as system proxy on startup

2、app抓包配置:

1)Tools>>>Fiddler Options :

(1)HTTPS:Decrypt Https traffic ;from remote clients only

(2)Connections:設定埠8888;Allow remote computers to connect

(3)APP上設定代理:同一WiFi下設定代理

(4)下載證書:http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer

3、捕獲HTTPS請求:

1)Tools>>>Fiddler Options >>Https:Decrypt HTTPS traffic;Ignore server certificate errors

2)出現443問題如何解決:檢查Fiddler版本;刪除證書,重新下載

 

設定斷點修改

1、斷點修改Request:

1)全部中斷:Rules>>Automatic Breakpoint>>before Requests

取消設定:Rules>>Automatic Breakpoint>>Disabled

2)特定網站中斷:

(1)快速命令列設定:bpu www.baidu.com 只會中斷該請求

快速命令列取消設定:bpu

3)Inspectors介面:

(1)Break on Response:發出請求,在響應資料回到Fiddler時再次中斷

(2)Run to Completino:單條執行修改後的請求

2、斷點修改Response:

1)全部中斷:Rules>>Automatic Breakpoint>>After Response

取消設定:Rules>>Automatic Breakpoint>>Disabled

2)特定網站中斷:

(1)快速命令列設定:bpafter www.baidu.com 只中斷該響應

快速命令列取消設定:bpafter

3)Choose Response

3、其他斷點相關命令列:

1)bps:特定http狀態碼時中斷,比如200 403

2)bpv/bpm:在特定請求method時中斷,比附Get Post

3)g 等於Go

 

重定向AutoResponse

概念:允許從本地返回檔案,代替伺服器響應,而不用將檔案釋出到伺服器【可用正式環境驗證本地檔案】

1、AutoResponse:

1)勾選Enable rules啟動

2)Unmatch requests passthrough:未匹配到請求時正常響應

3)Enable Latency:執行請求延遲

2、URL匹配:

1)以EXACT開頭表示完全匹配

2)以regex:開頭表示用正則表示式來匹配

3)Sting ToMacth

 

Filters過濾

Use Filters:啟用

1、Actions:1)Run Filterset Now;2)Load Filterset;3)Save Filterset

 

2、Hosts過濾:

1)Zone指定只顯示內網(Intranet)或網際網路(Internet)的內容;

2)Host指定顯示某個域名下的會話;

3)No Host Filter:無Host過濾;

4)Hide the following Hosts:隱藏如下HOST;

5)Show only the following Hosts:只顯示如下HOST;

6)Flag the following Hosts:加粗顯示如下HOST;

7)輸入多個HOST,多個之前用半形逗號或者回車分隔;支援萬用字元,*.baidu.com

 

3、Client Process過濾:

客戶端程序過濾規則

1)Show only traffic from:你可以指定只捕獲哪個windows程序中的請求;

2)Show only Internet Explorer traffic:只顯示IE發出的請求;

3)Hide Windows RSS platform traffic:隱藏WindowsRSS平臺發出的請求;

 

4、Request Headers過濾:

請求header過濾規則

1)經常使用:Show only if URL contains;

2)Flag Request with header:標記帶有特定header的請求;

3)Delete request header:刪除請求header;

4)Set request header:設定請求的header

 

5、Breakpoints:

斷點設定規則

1)Break request on HTTP POST:給所有的POST請求設定斷點;

2)Break request on HTTP GET with QueryString:給所有帶引數的GET請求設定斷點;

3)Break response on Content-Type:給特定的Content-Type設定斷點

 

6、Response Status Code過濾

響應HTTP狀態過濾規則

1)Hide success(202,204,206):隱藏響應成功的session(202,204,206)

2)Hide Authentication demands(401):隱藏未經授權被拒絕的session(401)

3)Hide redirects(300,301,302,303,307):隱藏重定向的(300,301,302,303,307)

4)Hide Not Modified(304):隱藏無變更的session(304)

 

7、Response Type and Size:

響應型別和大小過濾規則

1)Show all Content-Types:顯示所有響應型別

2)gnore smaller than ?KB:忽略小於指定大小的session

3)Block script files:阻止指令碼檔案,顯示為404;

4)Block image files:阻止圖片檔案

5)Time HeatMap:獲得計時資料

(1)綠色陰影代表響應時間在50毫秒以內

(2)超過50毫秒但在300毫秒之內的響應條目沒有顏色

(3)響應時間在300至500毫秒之間的會塗黃色

(4)超過500毫秒的用紅色底紋顯示

 

8、Response Headers:

響應header過濾規則

1)Flag responses that set cookies:標記會設定cookie的響應

2)Flag responses with header:標記帶有特定header的響應

3)Delete responses header:刪除響應header

4)Set responses header:設定響應的header

 

9、會話列表:滑鼠右鍵

 

Fiddler Script

1、使用FiddlerScript前需要安裝SyntaxView外掛;

2、修改Session的樣式;

3、修改http請求和應答

4、修改Url

5、定製選單:

1)定製rule選單的子選單

2)定製tool選單的子選單

3)定製右鍵子選單

6、模擬慢速網路:

1)Customize Rule修改指令碼:上傳/下載1KB要delay多久

2)Rules -> Performances -> Simulate Modem Speedds

 

次要功能

1、替換HTTP Request Host:

1)暫時替代:

(1)替代命令:urlreplace ir.baidu.com www.baidu.com

(2)清除命令:urlreplace,需要同時清除瀏覽器快取

2)永久替代:Script指令碼實現

 

2、配置hosts

 

3、Composer-Request發射器

 

4、HTTP統計試圖

1)選擇多個會話,陳列出所有HTTP的通訊量;

2)請求總數、請求包大小、響應包大小;

3)請求起始時間、響應結束時間、握手時間、等待時間、路由時間、TCP/IP、傳輸時間

4)HTTP狀態碼統計

5)返回的各種型別資料的大小統計以及餅圖展現

 

5、QuickExec命令列使用:

1)cls

2)select:select image

3)?.png

4)bpu、bpafter、bps、bpv、bpm

5)>size <size

6)=status:=狀態碼

7)@host:匹配域名

 

6、Timeline瀑布圖:

1)選擇多個會話,從條形圖表中可以分別出那些請求耗時最多;

2)不同顏色代表不同的元素型別的響應:

(1)淺綠色代表圖片

(2)深綠色是javascript

(3)紅色是Css

(4)其他為藍色

3)其他符號:

(1)請求前面的紅色圓圈表示這個連結是新建的,綠色表示是複用的

(2)黑色豎線,表示的是瀏覽器收到服務端響應的第一個位元組這一時刻;

(3)向下的箭頭表示重定向,302錯誤

(4)紅色感嘆號表示有錯誤發生,狀態為4**或5**;

(5)紅色的X,說明服務端響應完這個請求後,斷開了 連結;

(6)閃電錶示這是Fiddler的“AutoResponder”的響應;

(7)軟盤圖標表示這個響應正文從本地獲得,304錯誤;

 

7、編碼小工具、查詢會話、編碼解碼

 

第三方外掛

1、Syntax-Highlighting:程式碼高亮外掛;

2、JavaScript格式化外掛:JS格式化

3、WinDiff:會話比較功能

4、Stave外掛:1)目錄替換;2)專案配置管理;3)自定義顏色;4)上下行網速限制

5、Willow:

1)可以統計資料包;

2)修改Host;

3)請求重定向

4)編碼轉換

5)低網速模擬:慢速網路模擬視覺化

6)斷點除錯;

7)過濾HTTP請求;

轉載自 土豆擰不成麻花兒   https://blog.csdn.net/weixin_39411616/article/details/78625175?utm_source=blogxgwz3