1.初識fiddler:javascript
做用:截獲http/HTTPS請求,查看截獲的請求內容,僞造客戶端請求和服務器響應,測試網站性能,解密https的web會話,提供插件。前端
工做環境:支持素有操做系統和全部瀏覽器,對win有更好的支持。java
2.web
當打開fiddler後 瀏覽器中,工具>internet選項>鏈接>局域網設置高級>代理設置中 代理服務器地址被fiddler修改。正則表達式
3.fiddler兩種代理模式:後端
流模式(streaming) 緩衝模式(buffering)瀏覽器
流模式:fiddler會實時把服務器返回給客戶端的數據返回給咱們。流模式更接近於瀏覽器真實的行爲。緩衝模式:fiddler會等待http請求全部的數據都準備好以後纔會返回給應用程序。服務器
4.使用場景:網絡
1:開發環境host配置——一般狀況下,配置host需改系統文件很不方便;在多個開發環境下切換很低效。fiddler提供了相對高效地host配置方法。session
2:先後端接口調試——一般狀況下,調試先後端接口需真實的環境、一大堆假數據、寫js代碼。Fiddler只需一個UI界面進行配置便可。
3:線上bugfix——Fiddler可將發佈文件代理到本地,快速定位線上bug。
4:性能分析和優化。
5.工具條經常使用功能
1.給Fiddler捕捉到的會話增長一個備註
2.Replay:回放按鈕, 一般來說,捕捉,再回放。按快捷鍵R,就對一個請求作回放了.
3.X:清空監控面板,remove all 徹底清空.
4.Go:調試Debug,在請求了斷點的時候,讓斷點繼續往下走,須要結合狀態欄裏的功能來使用
5.stream:模式切換按鈕 ,流模式和緩衝模式,默認是緩衝模式
6.Decode:幫助咱們把http裏面的請求解壓出來.
7.any process:過濾請求
6.狀態欄
底部黑色條:控制檯,能夠在此輸入一些命令行。輸入help,得到指令
左一capturing:控制Fiddler是否工做
Web Browsers:過濾會話來源
左三,截斷
左四,數字:記錄當前展現的會話數量
7.監控面板
如何顯示ServerIP:
在CustomRules文件中運用Ctrl+F查詢 static function Main()
添加一行代碼 FiddlerObject.UI.lvSession.AddBoundColumn("Server IP",120,"X-HostIP");,而後就能在最後一行看到ServerIP了。
Statistics:一個會話的統計信息 能夠爲優化提供依據
Inspectors: 對請求進行解包 能夠查看相應的請求、響應信息
AutoResponder: 文件代理 能夠把請求的資源用本地文件代理掉 方便調試線上文件。
Composer:先後端接口連調 能夠用來僞造請求
Log:記錄日誌
Timeline:網站性能分析
8.fiddler文件,文件代理,host配置
Host配置:tools--hosts--選中enable...激活,再進行域名配置
請求ip會改變:
host
用Fiddler來配置Host:Tools -> HOST -> 打勾->添加規則->生效;去掉勾,保存,失效,或者直接關閉Fiddler也行。做用是把一個網站域名下全部的文件都映射到一臺指定的服務器或者一個IP下。
文件替換
拖拽到AutoResponder,EXACT精準匹配(也能夠用正則表達式進行模糊匹配),進行save後,能夠直接將匹配的文件進行加載。 只映射一個文件,也能夠替換響應,延遲等
9.fiddler請求模擬,先後端聯調
請求的僞造:能夠僞造Cookie
先後端連調:Composer -> 選擇請求方式 GET -> copy 地址 參數-> excuete
400回覆表明客戶端請求錯誤
POST參數通常要放到RequestBody中
前端頁面沒有完成的狀況下,後端能夠用fiddler模擬http請求,聯調接口
10.fiddler網絡限速
網絡限速
功能須要基於 fiddler 的插件
點擊fiddlerScript 在代碼裏找到onBeforeRequest
FiddlerScript -> static function OnBeforeRequest ->
oSession["request-trickle-delay"]="3000";//請求階段延遲
osession["response-trickle-delay"] = "3000";//請求馬上發出,迴應延遲三秒
手機端網絡限速方法:(待補全)
Save Script(保存腳本),發送請求
11.fiddler插件
插件不少,具體下載地址:https://www.telerik.com/fiddler/add-ons
JavaScript Formatter 代碼格式化插件
Fiddler Add-ons 插件:javaScript formatter -> js文件右擊 -> 選擇 make javascript pretty -> textview / syntaxview 代碼所有高亮顯示
traffic differ (對比兩個不一樣的對話): 直接拖進兩個不一樣的請求,會顯示完整的對比數據 -> 能夠用來對比優化先後網站之間的不一樣
12.fiddler第三方插件
第三方插件:willow -> 快速管理host列表 徹底可視化 http代理插件
可視化限速
由於沒有開源,能夠到http://pan.baidu.com/s/1mgocpBi進行下載體驗
問題:.fiddler中文版下載插件沒法使用。
解決方法:查看-顯示控制檯
而後輸入
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
未解決。