一、下載工具包
百度搜索”fiddler 下載“ ,安裝最新版本
下載的軟件安裝包為“fiddler_4.6.20171.26113_setup.exe”格式,雙擊安裝。安裝成功,在“開始”-“所有程序”,就會看見這樣的圖標,若是常用的話,也可以在桌面建一個快捷方式,如下圖:
二、fiddler手機抓包原理
在本機開啟了一個http的代理服務器,然后它會轉發所有的http請求和響應。Fiddler 是以代理web 服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。網絡請求走fiddler,fiddler從中攔截數據,由於fiddler充當中間人的角色,所以可以解密https。因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此,它還可以支持請求重放等一些高級功能。它還可以支持對手機應用進行http抓包的。本文就是手機抓包。
瀏覽器的代理設置默認是關着的,win7谷歌瀏覽器“設置--高級--系統--打開代理服務器--局域網設置--代理服務器”勾上。代理開關為開:可以抓到包,代理開關為關:抓不到包。
前提條件:
1).電腦需要安裝Fiddler
2).測試手機需要支持Wifi
3).測試手機與電腦需要同一網絡
4).所測APP需支持代理
三、設置Fiddler
1.(1)電腦端打開安裝好的的fiddler,打開Tools-Options
(2)HTTPS設置如下圖
(3)Connection設置如下圖,端口號設為8888
2.手機端添加代理
注:電腦聯網和手機聯網在一個局域網,手機和電腦都是連的公司網絡
電腦的ip地址
手機端設置-WLAN中給網絡設置代理,選中連接的WLAN,對該網絡進行編輯,代理中選擇手動,主機名填寫電腦的ip地址(電腦cmd-ipconfig),端口寫剛剛fiddler寫的端口8888
3.手機端用瀏覽器訪問http://IP:端口,用電腦的端口和fiddler設置的端口訪問安裝證書,訪問網絡,觀察fiddler能否成功抓包。這時候一般情況下手機網絡能訪問,抓包成功。
4.fiddler抓包手機添加代理后連不上網解決辦法:
手機設置代理后,無法訪問網絡了,如斷網般。。。研究了半天,和同事一起借助百度的力量解決了。
(1)打開注冊表,在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2下創建一個DWORD,值設置為80(十進制)
(2)編寫FiddlerScript rule,點擊Rules > Customize Rules,用ctr+f查找到OnBeforeRequest方法添加一行代碼
Inside the OnBeforeRequest handler*, add a new line of code:
if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";