Fiddler是個好東西!
Fiddler是個好東西!
Fiddler是個好東西!
一、Fiddler模擬網絡限限速
- 直接simulate modem speeds,使用默認值限速
- 工具欄Rules->Performances->Simulate Modem Speeds,將該項勾選(默認根據CustomRules.js中m_SimulateModem內容限制上傳和下載速度)
修改CustomRules.js中m_SimulateModem內容,設定指定上傳/下載速度
- 工具欄Rules->CustomRules,點擊打開CustomRules.js文件(快捷鍵ctrl+R)
修改OnBeforeReques方法中tm_SimulateModem中上傳和下載速度
static function OnBeforeRequest(oSession: Session) { ... //模擬顯示上傳下載速度,保存後勾選rules->Performances->simulate modem speeds if (m_SimulateModem) { // Delay sends by 300ms per KB uploaded.默認上傳時每kb延時300ms oSession["request-trickle-delay"] = "300"; // Delay receives by 150ms per KB downloaded.<span style="font-family: Arial, Helvetica, sans-serif;">默認上傳時每kb延時300ms</span> oSession["response-trickle-delay"] = "150"; } <span style="white-space:pre"> </span>... }
修改完成後,保存,勾選工具欄Rules->Performances->Simulate Modem Speeds
修改完CustomRules.js文件後,Simulate Modem Speeds會被取消勾選,所以每次保存後要再次勾選才能起到限速作用。
二、AutoResponder
Fiddler地址替換
- AutoResponder窗口設置
- 啓動Fiddler,請求指定地址
- 打開Fiddler右側AutoResponder界面
- 將該地址拖拽到AutoResponder裏面(也可以點擊選中該地址,右側AutoResponder裏面點擊Add Rule)
- 勾選Enable automatic responses和Unmatched requests passthrough
- AutoResponder界面下方Rule Editor第一行爲被修改地址,第二個輸入框右側箭頭查看更多選項(選項如下圖,爲該輸入框支持的輸入類型),可以直接在第二個輸入框輸入要被替換到的地址
- 設置完畢,保存,重新請求該url,查看請求地址是否已被替換,已被替換地址高亮顯示。
取消勾選Rules列表裏該地址,即可取消該地址替換。勾選後再次請求該地址仍會執行替換。
- 命令行替換
- 在Fiddler命令行出入:url replace http://blog.csdn.ner/monkey7777 www.baidu.com
- 按enter鍵,即可將之前發送的到monkey777的請求轉發成到baidu的請求了。
這種替換隻是暫時的。
- 截圖如下:
Fiddler設置請求404
步驟與上面地址替換類似,只需在RuleEditor處第二行選擇404類型“404_Plain.dat”,保存重新請求即可。設置200-502類型錯誤與此類似。
Fiddler修改返回數據
- Fiddler請求指定接口,查看接口返回數據
- 修改接口返回數據,保存到本地。(在Fiddler右側Inspector界面下方返回值的raw中查看返回數據->點擊右下角View in notepad在文本中打開->文本中刪去返回數據的報頭->把數據改爲想要的數據->另存爲需要的格式(xx.json、xx.txt等)保存在本地。
- AutoResponder中爲該地址添加rule。
- Rule Editor中編輯跳轉地址,選擇Choose a File…->選擇本地保存的數據文件->save
- 重新請求該地址,查看返回數據。
三、常用快捷鍵
- ctrl+R 打開CustomRules.js文件
- ctrl+X 清空url列表
- ctrl+1/2/3/4/5/6 標記url爲指定顏色(需點擊選中該url)
- ctrl+0 取消標記某url
- shift+r 重新請求某地址
四、左側地址列表區域顯示ip地址
- 打開CustomRules.js文件
找到main函數,添加
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP",120,"X-HostIP");
static function Main() { var today: Date = new Date(); FiddlerObject.StatusText = " CustomRules.js was loaded at: " + today; FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP",120,"X-HostIP"); // Uncomment to add a "Server" column containing the response "Server" header, if present // FiddlerObject.UI.lvSessions.AddBoundColumn("Server", 50, "@response.server"); // Uncomment to add a global hotkey (Win+G) that invokes the ExecAction method below... // FiddlerApplication.UI.RegisterCustomHotkey(HotkeyModifiers.Windows, Keys.G, "screenshot"); }