原理
Fiddler是一個http協定調試代理工具,它能夠記錄并檢查所有你的電腦和網際網路之間的http通訊,設定斷點,檢視所有的“進出”Fiddler的資料(cookie,html,js,css等)。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CNmRGMhJWNxgDZmFjMkFWZlJTOjhDNiVWMhFTNjlzM38CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
fiddler下載下傳、安裝
下載下傳
位址:www.telerik.com/fiddler
安裝
啟動
啟動後的界面,包含:工具欄、請求清單、指令行、請求詳情、響應詳情
fiddler基礎配置
預設監聽端口為8888
勾選Allow remote computers to connect,表示允許遠端連接配接(别的機器把HTTP/HTTPS請求發送到Fiddler上來)
fiddler預設隻抓取http協定的請求,要抓取https協定的請求,需要做如下配置:
選中"Decrpt HTTPS traffic",fiddler就可以抓取https請求
首次勾選,會彈出兩個對話框,是否信任fiddler證書和安全提示
否信任fiddler證書,點選【Yes】
安全提示,點選【是】
配置完成後,重新開機fiddler
fidller抓包預設用IE,IE不用做配置
打開fiddler,再打開IE的設定,可以看到,安裝完fiddler後,預設也将IE的代理設定好了
關閉fiddler,代理自動被關閉
常用功能
清除左側請求清單
過濾
方式一:
方式二:
隐藏或者顯示配置的hosts
多個hosts之間用分号分割
顯示内網、外網,這個用得少
web端抓包(http&https)
web端抓取http
設定過濾,隻顯示url中包含localhost的請求
啟動本地tomcat服務,浏覽器通路:http://localhost:8580/
輕按兩下下面這個請求
右側上方顯示請求詳情,下方顯示響應詳情
web端抓取https
設定過濾
浏覽器通路:https://www.baidu.com/
部分圖示含義
清除圖檔
輕按兩下上面第一個請求
app端抓包(http&https)
以ios舉例
完成fiddler的基礎配置(見本篇第二節)
app端抓取http
手機和電腦在同一區域網路
檢視電腦ip
手機設定代理
設定過濾
手機通路電腦上的tomcat,電腦ip:8580,即:192.168.0.102:8580
app端抓取https
打開浏覽器,輸入電腦ip:8888,即:192.168.0.102:8888
如果打不開,關閉代理伺服器(fiddler),再重新打開
點選上面的FiddlerRoot certificate超連結,下載下傳證書
手機上安裝證書
設定--通用--關于本機--證書信任設定,開啟fiddler證書的信任
華為手機
點選證書安裝
手機通路百度
模拟弱網低速
模拟低速網絡情況下頁面、APP的顯示與互動情況,比如響應時間過長時是否有彈出網絡不好的提示、頁面crash以及顯示錯亂、session是否一緻等
搜尋:m_SimulateModem
預設,發送每KB延時300ms,接收每KB延時150ms
可以都設定為30000毫秒
變成黃色
ctrl+s儲存後,變為綠色
開啟限速
一直轉圈
下面圖示表示正在從伺服器下載下傳響應
測試結束後取消限速
請求資料篡改
Fiddler中設定斷點修改Request
設定斷點可以修改httpRequest的任何資訊(包括host、cookie、表單中的資料)。
設定斷點有兩種方法:
第一種:打開Fiddler,點選Rules -> Automatic Breakpoint -> Before Requests(這種方法會中斷所有的會話),取消方式:點選Rules -> Automatic Breakpoint -> Disabled
第二種: 在指令行中輸入指令: bpu www.baidu.com (這種方法隻會中斷www.baidu.com),取消方式:在指令行中輸入指令 bpu
舉例:
浏覽器通路jenkins:http://ip:8580/jenkins/login
打開Fiddler,點選Rules -> Automatic Breakpoint -> Before Requests
輸入賬号密碼(密碼是錯誤的密碼),點選登入
fiddler能中斷這次會話,輕按兩下被中斷的會話
點選Inspectors tab下的WebForms
修改密碼為test1234,然後點選Run to Completion
然後就能登入成功
Fiddler中設定斷點修改Response
第一種:打開Fiddler,點選Rules -> Automatic Breakpoint -> After Response (這種方法會中斷所有的會話),取消:點選Rules-> Automatic Breakpoint -> Disabled
第二種: 在指令行中輸入指令: bpuafter www.baidu.com (這種方法隻會中斷www.baidu.com),取消:在指令行中輸入指令 bpuafter。
先設定fiddler,打開fiddler,點選Rules -> Automatic Breakpoint -> After Response
浏覽器通路:http://ip:8580/jenkins/login
修改響應内容,添加如下内容
頁面傳回
但是這樣容易造成請求逾時,可以用AutoResponder。
AutoResponder替換源資源
目的:請求百度首頁,傳回https://www.cnblogs.com/uncleyong/
将左側的請求拖動到右側
此時,浏覽器通路百度首頁,會重定向到:
不使用該規則,取消勾選
或者移除
mock
fiddler_mock.txt
{"code":"0", "message":"success", "content":{"user":"uncleyong","url":"https://www.cnblogs.com/uncleyong/"}}
通路百度首頁
另外,還可以用正則比對
字首為“EXACT:”表示完全比對(大小寫敏感)
無字首表示基本搜尋,表示搜尋到字元串就比對
字首為“NOT:”表示發現就不比對
字首為“REGEX:”表示使用正規表達式比對
fiddler模拟http請求
無參
get有參
post
略
另外,可以将左側請求行中需要的請求拖拽至請求構造欄中,修改相應參數,執行調試接口
聲明:部分圖檔來源于網絡,如有侵權,請聯系删除