Wireshark 、HTTPWatch、Fiddler的介紹
- Firebug雖然可以抓包,但是對于分析http請求的詳細信息,不夠強大。模擬http請求的功能也不夠,且firebug常常是需要“無刷新修改”,如果刷新了頁面,所有的修改都不會保存。
- Wireshark是通用的抓包工具,但是比較龐大,對于只需要抓取http請求的應用來說,似乎有些大材小用(TCP/IP協議監聽)。
- Httpwatch也是比較常用的http抓包工具,但是只支持IE和firefox瀏覽器(其他瀏覽器可能會有相應的插件),對于想要調試chrome瀏覽器的http請求,似乎稍顯無力,而Fiddler2 是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何能夠設置 HTTP 代理為 127.0.0.1:8888 的瀏覽器和應用程序都可以使用 Fiddler。
- Fiddler只能抓http和https數據包,所以在針對http和https數據包的抓取上它更加專業。
功能:
1.截獲客戶端HTTP/HTTPS的請求
2.可查看截獲的請求內容
3.并可偽造請求內容以及響應結果
4.測試網站性能
5.解密HTTPS的回話
6.可拓展插件
復制代碼
如何使用
開啟后自動修改了瀏覽器的代理服務器
- 流模式(實時可以顯示,接近瀏覽器本身的響應情況)
- 緩沖模式(HTTP請求所有的數據都準備好只有才把數據返回給客戶端,可以控制服務器響應)
Fildder使用場景
- 開發環境host配置
- 前后端接口調試
- 線上bugfix(可將發布文件代理到本地,快速定位線上bug)
- 性能分析和優化(提供請求實際圖,以便于做優化)
目錄
工具條
- 對請求選中添加注釋
Replay
: 選中請求重新提交(快捷鍵R),可重新請求。X
: 清空監控面板GO
: http請求或者返回斷點查看- 如同開發中我們常用的Debug
- 配合狀態欄中的斷電開關使用
- 支持打開請求斷點和響應斷點
Stream
: 模式切換- Stream流模式 (接近正常的HTTP請求,實時響應)
- 緩沖模式(請求完全結束才會返回,可控制響應)
Decode
: 解壓請求,更加方便查看Http請求里面的信息Keep Session
: 會話保持數AnyProcess
: 過濾請求(指定瀏覽器,通過選中進程)Find
: 條件搜索,查找標注save
: 保存當前會話- 截圖
- 計時器
Browse
: 快速啟動瀏覽器Clear Cache
: 清楚瀏覽器緩存TextWizard
: 編解碼以及工具Tearoff
: 分離面板
狀態條
- 黑窗口: QuickExec命令行, 輸入help 就能去官網查看詳細命令
Capturing
: 開啟和關閉代理webbrowsers
: 過濾來源- 添加請求前請求后斷點
- 連接數
- 請求地址
監控面板
- 面板圖標
- 右側功能
statistics
數據統計 -- 連接建立 發送請求 發送請求頭 請求發送出去 RTT 往返時間inspectors
請求解包 -- 請求/響應autoresponder
資源代理 -- 代理服務器的文件,更改js,等文件,線上bugfixcomposer
前后端接口聯調 -- 拖至窗口進行請求偽造filters
過濾器 -- 過濾無用請求log
日志timeline
網絡性能優化 -- 選中同一個網站查看來進行性能優化FiddlerScript
通過代碼來修改代理請求響應等 來限制請求 延遲等
簡單的運用
設置斷點
按照之前介紹的,在狀態欄啟用斷點(無論是請求斷點,還是響應斷點)后,所有的請求都會中斷。 事實上,一個網頁加載時,會觸發很多異步請求。甚至在加載完成后,也還會不停地發送異步請求,比如現在很流行的二維碼登錄頁面。攔截所有請求似乎顯得不太合適。 而在上一節其實留了斷點的命令行沒有介紹。斷點即 breakpoint,所有跟斷點相關的都是以 bp 為前綴。
bpu
:請求時斷點,比如bpu /foo
bpafter
:請求時斷點,比如bpafter /foo
bps
:請求時斷點,比如bps 404
bpm
:請求時斷點,比如bpm post
用不帶參數的命令可以清除斷點,比如 bpafter 可以清除所有的響應斷點。
url 的匹配方式是判斷“字符串是否包含”,比如 bpu /foo 會攔截所有包含 /foo 的請求。
如果忘了這些命令,在命令行輸入 bp ,敲回車,就能看到提示了。bp is short for breakpoint,這個能記住嗎?
具體使用
- 文件、文件夾代理和host配置
Tools-->host來更改 (不通過system下的 host)
-
AutoResponder
: 監控面板- Enable Rules 開啟資源代理
- 拖拽請求到窗口,支持正則表達式匹配
- 選擇響應內容
- 保存
-
請求偽造
- 拖拽請求到窗口
- 修改請求
- excute執行偽造請求
-
網絡請求延遲(FiddlerScript的使用)
FiddlerScript將請求代碼化,可對請求前、請求后代碼進行修改 再
OnBeforeRequest
中- 添加oSession["request-trickle-delay"]="3000"; 為請求添加3秒延時
- 添加oSession["response-trickle-delay"]="3000"; 為服務器響應添加3秒延時
或者通過 Rulse
Rules -> Customize Rules ctrl+f 查找 SimulateModem ,看到具體代碼塊 ,修改延遲時間并且保存 Performance -> Simulate Modems Speeds : 開啟或者關閉延遲
HTTPS抓取設置
HTTPS正常是無法抓取的,需要導入安裝Fiddler的證書
下載并安裝Fiddler證書生成器:www.telerik.com/docs/defaul…
步驟如下: 進入Tools -> Options 如圖配置
1.HTTPS:
2.Connections:
3.導出證書:
在`HTTPS`的`Actions`里面選擇`Export Root Certificate to Destop` 生成Fiddler證書到桌面
復制代碼
- 截獲瀏覽器HTTPS請求
找到自己常用瀏覽器的設置 管理證書,導入自己剛剛生成的證書就ok啦 重啟Fiddler
安全鏈接提示
可參照Fiddler的HTTPS抓包最全配置
Fiddler插件
官方插件下載地址
willow插件