一、安裝Fiddler
網(wǎng)上說(shuō)要先安裝.NET Framwork4,應(yīng)該是由于本機(jī)已裝,所以在安裝Fiddler時(shí)并沒(méi)有相關(guān)提示。
Fiddler安裝包:https://www.telerik.com/download/fiddler/fiddler4
二、Fiddler通過(guò)代理連上手機(jī)
首先電腦和手機(jī)要使用同一個(gè)無(wú)線(xiàn)網(wǎng)。
1\. Fiddler工具->選項(xiàng)卡,General

選項(xiàng)卡Connections

注意:fiddler監(jiān)聽(tīng)端口設(shè)置為:8888
2\. 需要安裝fiddler證書(shū)
使用手機(jī)瀏覽器訪(fǎng)問(wèn)http://[電腦IP地址]:[fiddler設(shè)置的端口號(hào)],即可以下載fiddler的證書(shū)并安裝。
查看電腦IP的方法:直接在cmd下ipconfig,或者鼠標(biāo)滑過(guò)fiddler的online也可以看到IP地址。

3\. 打開(kāi)手機(jī)設(shè)置WLAN
長(zhǎng)按wifi名稱(chēng),選擇“管理網(wǎng)絡(luò)設(shè)置”,勾選【顯示高級(jí)設(shè)置】,代理設(shè)置選擇【手動(dòng)】,輸入電腦的IP地址和端口,端口為fiddler中設(shè)置的8888****
4\. 手機(jī)打開(kāi)瀏覽器網(wǎng)頁(yè),或者要測(cè)試的APP,fiddler軟件里會(huì)獲取相關(guān)的地址

5\. 修改參數(shù)模擬網(wǎng)速
利用fiddler通過(guò)代理連接上手機(jī)之后,進(jìn)入Fiddler->Rules->Customize Rules,點(diǎn)擊彈出的CustomRules.js文件,找到m_SimulateModem,也就是下面的這段:

修改代碼如下:

6\. 確定設(shè)定的參數(shù)
設(shè)置完之后,再勾選Rules -> Performances -> Simulate Modem Speeds

7\. 注意停掉PC與手機(jī)上面上網(wǎng)的應(yīng)用
把PC與手機(jī)上面上網(wǎng)的進(jìn)程殺掉,如果上網(wǎng)的應(yīng)用太多了,那網(wǎng)速肯定也會(huì)受到影響,這樣出來(lái)的報(bào)告,就會(huì)不準(zhǔn)確。
8\. 進(jìn)行抓包
點(diǎn)擊抓包數(shù)據(jù)中的一條記錄,在右側(cè)的statistics中就會(huì)顯示當(dāng)前界面相應(yīng)數(shù)據(jù)。bytes Sent 是指發(fā)送的請(qǐng)求數(shù),Bytes Received:返回的數(shù)據(jù)量,Overall Elapsed:總耗時(shí)。

三.Fiddler工具使用說(shuō)明
- Fiddler開(kāi)始工作了,抓到的數(shù)據(jù)包就會(huì)顯示在列表里面,以下總結(jié)這些是什么意思:

:抓取HTTP Request的順序,從1開(kāi)始,以此遞增
Result:HTTP狀態(tài)碼
Protocol:請(qǐng)求使用的協(xié)議,如HTTP/HTTPS/FTP等
Host:請(qǐng)求地址的主機(jī)名
URL:請(qǐng)求資源的位置
Body:該請(qǐng)求的大小
Caching:請(qǐng)求的緩存過(guò)期時(shí)間或者緩存控制值
Content-Type:請(qǐng)求響應(yīng)的類(lèi)型
Process:發(fā)送此請(qǐng)求的進(jìn)程,進(jìn)程ID
Comments:允許用戶(hù)為此回話(huà)添加備注
Custom:允許用戶(hù)設(shè)置自定義值。
2\. Fiddler的統(tǒng)計(jì)選項(xiàng)卡中顯示了當(dāng)前Session的基本信息,在選項(xiàng)卡的最上方顯示的是文本信息,最下方是個(gè)餅圖。使用Statistics頁(yè)簽,用戶(hù)可以通過(guò)選擇多個(gè)會(huì)話(huà)來(lái)得來(lái)這幾個(gè)會(huì)話(huà)的總的信息統(tǒng)計(jì),比如多個(gè)請(qǐng)求和傳輸?shù)淖止?jié)數(shù)。
選擇第一個(gè)請(qǐng)求和最后一個(gè)請(qǐng)求,可獲得整個(gè)頁(yè)面加載所消耗的總體時(shí)間。從條形圖表中還可以分別出哪些請(qǐng)求耗時(shí)最多,從而對(duì)頁(yè)面的訪(fǎng)問(wèn)進(jìn)行訪(fǎng)問(wèn)速度優(yōu)化。
如下所示:

餅圖如下:

統(tǒng)計(jì)選項(xiàng)卡的一些信息含義如下解釋?zhuān)?/p>
Request Count: 選中的session數(shù);
Unique Hosts: 流量流向的獨(dú)立目標(biāo)主機(jī)數(shù)。如果所有選中的流量都發(fā)送到相同的服務(wù)器上,則不會(huì)顯示該字段。
Bytes sent: HTTP請(qǐng)求頭和請(qǐng)求體中向外發(fā)送的字節(jié)總數(shù)。后面括號(hào)中分別給出了頭和body各自的字節(jié)數(shù)。
Bytes received: HTTP請(qǐng)求頭和請(qǐng)求體中接收到的所有字節(jié)數(shù)。在全部計(jì)數(shù)后面的括號(hào)中給出了請(qǐng)求頭和請(qǐng)求體各自的字節(jié)數(shù)。
Requests started at: Fiddler接收到的第一個(gè)請(qǐng)求的第一個(gè)字節(jié)的時(shí)間點(diǎn)。
Responses completed at: Fiddler發(fā)送到客戶(hù)端的最后一個(gè)響應(yīng)的最后一個(gè)字節(jié)的時(shí)間點(diǎn)。
Sequence(clock) duration: 第一個(gè)請(qǐng)求開(kāi)始到最后一個(gè)響應(yīng)結(jié)束之間的 “時(shí)鐘時(shí)間”。
Aggregate session duration: 所有選中的session從請(qǐng)求到響應(yīng)之間的時(shí)間的和。
DNS Lookup time: 所有選中的session解析DNS所花費(fèi)的時(shí)間的總和。
TCP/IP Connect duration: 所有選中session建立TCP/IP連接所花費(fèi)的時(shí)間總和。
HTTPS Handshake duration: 所有選中session在HTTPS握手上所花費(fèi)的時(shí)間總和。
Response Codes: 選中session中各個(gè)HTTP響應(yīng)碼的計(jì)數(shù)。
Response Bytes by content-type: 選中session中響應(yīng)的各個(gè)Content-Type的字節(jié)數(shù)。
Estimated Performance: 選中的流量在不同語(yǔ)種(local)地區(qū)和連接方式下所需時(shí)間的初步估計(jì)。
四、實(shí)際操作Fiddler遇到的問(wèn)題及解決辦法
問(wèn)題:由于辦公區(qū)域路由改造,獲取IP地址從自動(dòng)改成固定IP,使得Fiddler連接手機(jī)的時(shí)候,手機(jī)連不上網(wǎng)絡(luò),無(wú)法獲取APP請(qǐng)求。
辦法:1.將固定IP改為“自動(dòng)獲取IP地址”

2.查看電腦IP地址,CMD->IP config

3.手機(jī)的代理輸入剛才查看到的電腦IP。這樣可以解決fiddler連接手機(jī)抓取不到手機(jī)app的問(wèn)題了!

注意:需要檢查代理服務(wù)器設(shè)置為不使用代理。打開(kāi)Internet選項(xiàng)——連接——局域網(wǎng)設(shè)置,取消代理服務(wù)器的勾選。

按照以上的設(shè)置,基本可以實(shí)現(xiàn)弱網(wǎng)環(huán)境下的app測(cè)試了~