使用Fiddler對手機App應用進行抓包,可以對App接口進行測試,也可以了解App傳輸中流量使用及請求響應情況,從而測試數據傳輸過程中流量使用的是否合理。
抓包過程:
1、Fiddler設置
1)啟動Fiddler->Tools->Fiddler Options
2)HTTPS選項卡中,設置如下,勾選過程中如有彈窗允許即可;
Connections選項卡中,勾選Allow remote computers to connect,勾選時如有彈窗確定即可;
Fiddler listens on port:8888是監控端口;
2、手機設置
1)手機和電腦連同一個WiFi;
2)通過ipconfig查看計算機IP地址,如本機IP地址為:192.168.9.150;打開手機無線網絡,選擇連接的WiFi,設置代理,IP輸入192.168.9.150,端口:8888;
3)手機瀏覽器訪問:192.168.9.150:8888,出現響應頁面說明連接成功,點擊響應界面中的“fiddlerRoot certificate”安裝證書,然后就可以操作App通過Fiddler進行抓包了。
可以在Fiddler Statistics(統計)中查看各個請求發送和接受數據大小及傳輸時間。
3 . fiddler模擬限速的原理
我們可以通過fiddler來模擬限速,因為fiddler本來就是個代理,它提供了客戶端請求前和服務器響應前的回調接口,我們可以在這些接口里 面自定義一些邏輯。Fiddler的模擬限速正是在客戶端請求前來自定義限速的邏輯,此邏輯是通過延遲發送數據或接收的數據的時間來限制網絡的下載速度和 上傳速度,從而達到限速的效果。
他提供了一個功能,讓我們模擬低速網路環境…啟用方法如下:
Rules → Performances → Simulate Modem Speeds :模擬調制解調器的速度
啟動fiddler需要進行如下設置:
1.設置端口號:
allow remote computers to connect “允許遠程計算機連接”為設置的代理可以連接到fiddle上,必須勾選
2.重啟fiddle;
3.設置模擬調制解調器的速度:
4.設置手機代理
手機代理設置“ip地址為本機的ip,端口號為之前設置的端口號(確保端口號不被占用)”
5.手動設置設置上行,下行速率,模擬網路速度的原理,每上傳/下載1KB 要delay 多久…
網絡取值的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s 需要delay200毫秒來接收數據。
查找代碼如下:搜索關鍵字 m_SimulateModem
if (m_SimulateModem) {
//Delay sends by 300ms per KB uploaded. //每延遲300ms發送1kb的數據,也就是每1s發送3kb的數據
oSession["request-trickle-delay"] = 300
//Delay receives by 150ms per KB downloaded.//每延遲150ms下行1kb的數據
oSession["response-trickle-delay"] = 150
}
請注意,當你存檔之后,原本已經勾選的SimulateModem Speeds 會被取消勾選,要記得再到Rules → Performances → Simulate Modem Speeds 勾選喔!
6.設置完成后,清空原有的log,並使用你的app進行弱網條件下的操作,
選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化
如下圖:
不同請求耗時多少的圖形表,獲取那種資源耗時最大,進而進行優化:
如下圖
————————————————
原文鏈接:https://blog.csdn.net/weixin_43639443/article/details/89491840