博客在前面幾篇隨筆中,介紹了在網絡環境中瀏覽器和服務器之間交互的相關內容,下面主要主要從7個方面介紹一款網絡抓包代理工具Fiddler,它可以幫助前端開發者和數據分析人員解決很多問題。
一、Fiddler設置(PC端)
Fiddler默認是只能抓取http網絡格式的,所以我們要先設置下使Fiddler可以獲取到https網絡格式。首先按路徑Tools→Options→HTTPS 進入設置
然后,需要允許遠程連接打開:Tools-> Options->Connection
默認監聽端口為8888,下面幾項全部勾選。配置后,重啟即可完成。
二、手機的設置
需要保證使手機和電腦PC都處於同一個網絡下,然后查看電腦的IP地址,可以CMD內通過命令ipconfig獲取IP地址(更多詳情可參看另一篇隨筆:《網絡查看命令》 ),或者點擊小箭頭,鼠標移動到Online上查看IP地址。
獲得本機IP和端口8888后,手機進入設置→wlan網絡設置→選擇無線,然后修改配置
下載Fidder的安全證書:使用Android手機的瀏覽器打開如下格式的網址:
http://PC的IP: Fidder使用的端口號(e.g. 8888);
並點擊如下圖中所示的“FidderRoot certificate”鏈接,以實現證書的安裝。
三、數據攔截
我們可以通過點擊這個位置或者按F11
右側選擇INSPECTORS→WebForms 對里面的數據進行修改,然后點擊 Run to Completion 發送。
四、Fiddler使用方法:Fiddler顯示IP
顯示IP的作用:由於web前端在多個環境中開發,需要經常更換host,而設置host之后會出現延遲的情況,這時候就需要知道現在訪問的域名時指向的服務器的IP地址。具體操作如下:
快捷鍵Ctrl+R 或者 菜單->Rules->Customize Rules…
在CustomRules.js文件里Ctrl+F查找字符串
static function Main()
添加一行代碼即可顯示IP
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
如圖:
修改完成后保存,重啟Fiddler完成操作。
五、Fiddler抓包中文亂碼問題
- 打開windows注冊表,找到 HKEY_CURRENT_USER\Software\Microsoft\Fiddler2
- 在右欄空白處點擊右鍵新建,選字符串值,加上HeaderEncoding,然后值輸入 GBK(建議設置為UTF-8)
六、Fiddler模擬發送get/post請求(也可做簡單接口測試)
1、模擬get/post發送請求
(1)Fiddler設置post接口信息及參數,點擊Execute發送請求
(2)Fiddler設置get接口信息及參數,點擊Execute發送請求
2、發送請求后右側會對產生相應的一條請求記錄,選中查看右側請求返回結果
七、運用Fiddler的查找功能,獲取數據API(Json)
操作視頻:https://v.kuaishou.com/7ldwnQ
參考:
Fiddler官介:https://www.telerik.com/fiddler
其他類似的抓包代理軟件 - Charles官介 : https://www.charlesproxy.com/
《各類 HTTP 返回狀態代碼詳解》:https://www.cnblogs.com/yxmings/p/14213407.html