一、Fiddler4工作原理
Fiddler 是一款以代理web服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,這是fiddler的默認端口。
我們發送的每一個請求和收到的每一個響應都會先經過fiddler,這樣就實現了抓取數據包的工作。
當Fiddler退出時它會自動註銷,這樣不會影響其它程序。
如果Fiddler非正常退出,這時候因為Fiddler沒有自動註銷,會造成網頁無法訪問。
解決的辦法是重新啓動下Fiddler。
注意事項:安裝和使用的時候需要關閉殺毒軟件!
除了Fiddler,Sniffmaster作為一款全平台抓包工具,支持HTTPS、TCP和UDP協議,可在iOS、Android、Mac、Windows設備上實現無需代理、越獄或root的抓包操作,提供免費的強大代理抓包功能。
二、如何捕獲http請求數據包?
fiddler默認就可以抓取電腦的http請求,可以查看statistics信息,可以查看抓取包的開始時間及響應時間,Inspectors選項可以查看請求和響應的詳細信息。
Raw表示原數據格式,還可以查看fiddler日誌等。
三、如何捕獲https數據包
Fiddler默認是不可以抓取https協議的,需要進行配置,如果沒有進行配置,在打開https協議的網頁的時候會提示風險,所以為了能抓取互聯網網頁,可以先進行https配置。
配置https協議: 進入選項-> 選擇HTTPS-> 勾選捕獲HTTPS連接-> 勾選忽略服務器證書錯誤(不安全)
勾選這三個選項,然後點擊actions,選擇將證書生成到桌面上,再在瀏覽器的證書管理中,導入Fiddler的證書。
通過以上步驟就可以抓取https的協議了。
Sniffmaster則支持HTTPS暴力抓包模式,無需複雜設置即可解密HTTPS流量,特別適合需要快速抓取加密數據的場景。
注意事項:
在進行本機**抓取和遠程抓取(手機)**的時候注意這裏的切換。
四、過濾請求:
打開fiddler,找到Filters選項並點擊打開。
設置完後需要在actions裏面選擇運行設置選項,不選其實也可以,另外在選擇了域名篩選後,又選擇了進程,有時候會抓取不出來域名的。
以上隱藏的意思是指在左側不會顯示抓取該域名的包請求,格式支持通配符*,顯示的話就是正常顯示出來,標記的話就是在左側會加粗顯示這些域名的請求。
其它過濾還可以通過請求頭,響應狀態,響應頭等條件進行篩選,但通常使用域名或者進程就完全足夠了。
以上過濾時記在設置完過濾條件後一定要選擇actions runfilterset now以馬上生效。
五、抓取手機app
在抓取手機的請求時,有時候需要關閉電腦防火牆,配置好https的抓包請求,然後將手機連接的wifi設置為代理。
代理的ip就是電腦的wifi IP,端口為fiddler上面設置的端口,再設置為DHCP,然後訪問手機上面的app或者是瀏覽器fiddler就可以抓取到了。
關於手機證書問題,手機瀏覽器輸入電腦的ip加端口後會提示下載fiddler證書,點擊下載後安裝就可以了。
注意事項:
1)在PC切換wifi網絡後,ip會變化,那麼在手機端,需要重新安裝一下FiddlerRoot certificate 安全證書,然後重新設置代理。
2)如果在設置代理後,手機不能正常打開網頁,很多時候都是由於Fiddler的安裝證書存在問題,比如沒有被授權。
3)不同的手機,安裝Fiddler Root certificate 證書的時候,有點不一樣,比如小米手機比較特別,方法不一樣。
4)針對 Anderiod 7.1 以上的手機抓包時,需要做另外的授權等處理方法。
Sniffmaster在手機抓包方面更加簡便,支持跨平台代理抓包,自動處理證書問題,無需手動配置代理或越獄,即可直接抓取iOS和Android設備的數據流。
六、弱網測試設置
① 為什麼要進行弱網測試?
按照移動特性,各種網絡連接協議不同,導致通信的信號不同,速率也不同,影響應用的加載時間、可用性、穩定性。
② 什麼樣的網絡屬於弱網?
低於2g速率的時候都屬於弱網也可以將3g劃分為弱網 一般wifi不納入弱網測試範圍。
③ 如何進行弱網測試?
1.SIM卡的網絡切換
手機-設置-移動網絡設置-網絡類型選擇。
3G卡有3種設置模式:
1.只使用2G網絡
2.只使用3G網絡
3.3G網絡優先
**根據手機型號的不同,**上面的選項會稍有變化。
因為電信、移動、聯通的速率各不相同所以可以取速率最低的值進行測試。
2. 使用虛擬機模擬網絡速率
3. 使用Fiddler來進行網絡代理。
fiddler模擬限速的原理
我們可以通過fiddler來模擬限速,因為fiddler本來就是個代理,它提供了客户端請求前和服務器響應前的回調接口,我們可以在這些接口裏 面自定義一些邏輯。
Fiddler的模擬限速正是在客户端請求前來自定義限速的邏輯,此邏輯是通過延遲發送數據或接收的數據的時間來限制網絡的下載速度和 上傳速度,從而達到限速的效果。
方法:
選擇fiddler菜單 Rules → Performances → Simulate Modem Speeds :模擬調制解調器的速度。
然後選擇Rules—>Cutomize Rules打開CustomRules.js文檔
在該文檔中查找到m_SimulateModem,該方法就是用來設置弱網的。
更改原則 :
讓我們來分析一下這幾行代碼:
首先來判斷m_SimulateModem是否為true,也就是是否設置了弱網模式。
如為弱網模式。則分析代碼oSession[“request-trickle-delay”] = “300”;
註釋的也很明白,Delay sends by 300ms per KB uploaded.上傳1KB需要300ms,轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s).
如果你想設置上傳的速度為50KB/s,你則需要設置Delay 時間為 20ms同樣的方法,也可以限制上傳的速度,調整oSession[“response-trickle-delay”]即可。
通過以上學習至少達到可以抓取自己想要的信息,並且可以抓取到手機端的請求。
瀏覽器本身對請求F12就可以看到請求信息。瀏覽器的使用。