原理
Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,設置斷點,查看所有的“進出”Fiddler的數據(cookie,html,js,css等)。
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
點擊上面的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
略
另外,可以將左側請求行中需要的請求拖拽至請求構造欄中,修改相應參數,執行調試接口
聲明:部分圖片來源於網絡,如有侵權,請聯系刪除