Fiddler是一個非常流行的網絡抓包調試工具,也算是比較出名吧。其實說起抓包工具,很多人可能先想到的是wireshark這個經典工具。不過wireshark側重於網絡抓包,可以抓所有類型的數據包,並且解析包的內容。但是Fiddler主要是用來抓取HTTP包的,對HTTP包的內容有多種多樣的顯示方式。不過考慮到現在大多數時候都用HTTP,所以Fiddler也更加常用一些。
捕獲網絡流量
Fiddler利用代理來捕獲流量,默認情況下它會在埠號8888開啟代理,我們只需要通過這個代理用瀏覽器訪問網頁,即可在Fiddler中看到瀏覽器的流量。其他應用也是同理。另外,這個代理默認還是系統代理,因此支持系統代理的程序均可以通過Fiddler來捕獲流量。
Fiddler的設置對話框
多種樣式顯示數據
截取到數據包以後,Fiddler就可以用各種形式來為我們展示這些數據了,TextView可以查看響應包的文本;SyntaxView可以用語法高亮的HTML形式來展示網絡原始碼;WebView可以簡單的渲染HTML頁面;JSON可以顯示返回數據的JSON文本等等。
這些方便的形式對我們查看和調試HTTP數據包非常有幫助。
多種數據展示方式
按進程過濾流量
第一次使用Fiddler的話,你可能會被大量數據包刷屏。因為默認情況下,經過系統代理的所有流量都會顯示出來。其實真正調試的時候,往往只需要捕獲一個瀏覽器窗口的流量。不過Fiddler也提供了按進程號過濾流量的功能,要捕獲哪個程序,僅需輕輕一拖滑鼠。
這個功能用起來非常簡單,在工具欄上找到All Process這個圖標,拖動它到要捕獲的瀏覽器標籤上即可。
按進程過濾
解密HTTPS流量
HTTPS流量是加密的,默認情況下無法看到具體信息,不過Fiddler也提供了解密HTTPS流量的功能。這需要我們安裝和信任Fiddler的根證書。當然Fiddler的根證書僅僅用於軟體的抓包功能,但是這也提醒我們,不要隨隨便便安裝不明來源的根證書,會導致嚴重的安全問題。
這個功能設置也很簡單,在配置對話框中開啟解密HTTPS功能即可。
解密HTTPS流量
對其他設備抓包
因為Fiddler是通過網絡代理截取數據包的,所以如果區域網的其他設備使用當前電腦的Fiddler代理訪問網絡的話,Fiddler就可以捕獲到這個設備的代理。
做一個簡單總結,Fiddler是一個很好用的工具,如果你想抓一些HTTP包用來分析,那麼它將會是你的的得力助手。