主要抓包工具介紹與對比
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