使用fiddler抓手機(jī)包配置

相信我們的讀者中有不少是做手機(jī)測試的同學(xué),如果我們的被測APP是有網(wǎng)絡(luò)交互功能的(比如說一個電商APP或者論壇APP亦或是一個照片云存儲的APP),那么如何來監(jiān)測、調(diào)試以及修改這些API請求或者圖片請求呢?就需要我們的Fiddler出馬了,F(xiàn)iddler可以幫助我們查看手機(jī)的HTTP/HTTPS流量,讓我們來看看如何操作吧


查看手機(jī)流量需要在Fiddler所做的設(shè)置及其原理


在上一講中我們介紹了Fiddler的工作原理實(shí)際是做為一個代理服務(wù)器的存在,檢視通過這個代理服務(wù)器的流量,所以查看手機(jī)流量的思路也是很簡單的將手機(jī)的代理服務(wù)器設(shè)置成我們的Fiddler就好了,具體的設(shè)置方法會在下面介紹,首先我們需要在Fiddler中做一個簡單的設(shè)置,開啟他的遠(yuǎn)程調(diào)試功能,否則Fiddler是只能查看本機(jī)流量的。


打開安裝好的Fiddler,在菜單欄里選擇Tools->Fiddler Options,打開Fiddler選項(xiàng)對話框,再選擇Connections標(biāo)簽頁,我們需要代理設(shè)置端口號和Allow remote computers to connect選項(xiàng):


圖片發(fā)自簡書App

這個端口號是Fiddler代理服務(wù)的端口號,在后續(xù)設(shè)置代理時會用到,所有的代理流量都是通過這個端口發(fā)送給Fiddler的,如果在公司測試時發(fā)現(xiàn)別人代理到了自己的機(jī)器而造成了多臺設(shè)備的流量交叉不好判斷,也可以修改這個端口號并修改自己使用的測試機(jī)的代理設(shè)置。要順手說一句的是,設(shè)置了代理的手機(jī)如果目標(biāo)代理服務(wù)器端口是沒有啟用Fiddler的,那么這臺手機(jī)時無法正常上網(wǎng)的,如果經(jīng)常使用Fiddler調(diào)試手機(jī)流量,在手機(jī)無法正常上網(wǎng)時不要忘記檢查一下手機(jī)的代理設(shè)置哦。


第二個需要關(guān)注的選項(xiàng)Allow remote computers to connect是一個Checkbox,勾選后Fiddler就可以查看非本機(jī)但是代理到本機(jī)設(shè)置端口的流量了,如果沒有開啟此選項(xiàng),即使在手機(jī)上設(shè)置的正確的代理也是無法看到HTTP流量的,且手機(jī)無法正常上網(wǎng),原因請參考上面一段,該選項(xiàng)需要重啟Fiddler生效,點(diǎn)擊確定時會提醒你的。


順手提一句的是Act as system proxy on startup選項(xiàng),這個選項(xiàng)是默認(rèn)勾選的,如果你的主業(yè)是手機(jī)測試,那么推薦把這個選項(xiàng)去勾選,在Fiddler啟動時就不會自動注冊為系統(tǒng)的代理,本機(jī)的IE/Chrome等應(yīng)用的流量就不會在Fiddler上顯示了,去除了無關(guān)流量的干擾。


設(shè)置手機(jī)代理還需要知道安裝Fiddler機(jī)器的IP,方法有很多,比如CMD命令行中的ipconfig命令,不會的同學(xué)可以去學(xué)習(xí)一下。


查看Android手機(jī)的流量


在Android手機(jī)點(diǎn)擊“設(shè)置”→“WI-FI”,長按處于需要設(shè)置代理的WI-FI;如XXXXX-3w-test.出現(xiàn)如下圖提示框,點(diǎn)擊“修改網(wǎng)絡(luò)配置”。


圖片發(fā)自簡書App


在提示框里勾選“顯示高級選項(xiàng)”,代理設(shè)置選為“手動”,將代理主機(jī)名和代理服務(wù)器端口改為電腦的IP地址,填好代理服務(wù)器端口,即上一步中我們設(shè)置的端口號。


圖片發(fā)自簡書App


點(diǎn)擊存儲后便完成了代理服務(wù)器的設(shè)置,如果這個WIFI是沒有連接的,主動連接這個WIFI,嘗試在手機(jī)瀏覽器上訪問幾個網(wǎng)頁,看看Fiddler中是否有相關(guān)的流量信息,有則代表設(shè)置成功了。


需要注意的是代理設(shè)置是跟隨WIFI的,如果發(fā)生了WIFI自動切換,且切換后的WIFI沒有設(shè)置代理,那么自然切換WIFI后就無法看到手機(jī)相關(guān)的流量信息了,在Fiddler明顯丟失手機(jī)相關(guān)數(shù)據(jù)包時可以查看下是否發(fā)生了WIFI切換的現(xiàn)象。另外由于某些手機(jī)的BUG,針對當(dāng)前已連接的WIFI的代理設(shè)置有概率失效,斷開再重連配置好代理信息的WIFI熱點(diǎn)即可。


查看IPhone手機(jī)的流量


Iphone手機(jī)的代理設(shè)置和Android手機(jī)類似,在iOS設(shè)備中,依次打開“設(shè)置”→“WI-FI”,點(diǎn)擊處于連接狀態(tài)的WI-Fi(如還沒有連接WI-FI需要先進(jìn)行連接);如XXXXX-3w-test.進(jìn)入如下界面:


圖片發(fā)自簡書App

在HTTP代理處將“關(guān)閉”切換為“手動”。 在“服務(wù)器”輸入框處填上要代理上的電腦的IP地址,填好代理服務(wù)器端口:


圖片發(fā)自簡書App

點(diǎn)擊左上角“<無線局域網(wǎng)”返回保存,即可完成設(shè)置。


查看WinPhone手機(jī)的流量


噢,對不起,作者并沒有Windows Phone手機(jī),沒法給出具體步驟,但是大體思路應(yīng)該是一致的,在Wifi界面找到相關(guān)代理設(shè)置即可。


還可以用于Linux及Mac系統(tǒng)哦


是的能夠設(shè)置代理的系統(tǒng)都可以使用Fiddler來查看HTTP流量,也可以通過Fiddler做跳板訪問HTTP網(wǎng)頁


舉個例子,Windows和Linux雙機(jī)辦公,通常都是Windows有外網(wǎng)權(quán)限,Linux僅有內(nèi)網(wǎng)權(quán)限,通過將Linux的代理設(shè)置設(shè)置到Windows的Fiddler上,便可以使Linux也能夠訪問網(wǎng)頁了。當(dāng)然公司的外網(wǎng)隔離機(jī)制是為了保護(hù)每個公司的信息安全的,所以即使掌握了這項(xiàng)技術(shù)也不要用于非法用途哦。


如果只有Linux或者M(jìn)ac單機(jī)怎么辦呢?我們可以在Linux或Mac機(jī)器上安裝Windows虛擬機(jī),然后在虛擬機(jī)上安裝Fiddler,并將宿主機(jī)器的代理指向虛擬中的Fiddler設(shè)置(記得Fiddler要打開支持查看遠(yuǎn)程流量哦),當(dāng)然這種操作僅能用于查看Linux和Mac機(jī)器上的HTTP流量,是無法達(dá)成上文中的跳板效果解除外網(wǎng)限制的,相信聰明的你一定知道為什么。


至于Linux和Mac系統(tǒng)上的代理設(shè)置,作者確實(shí)有這些機(jī)器,但是相信都是用這么非主流系統(tǒng)的你了,一定知道怎么設(shè)置代理或者能夠有辦法找到答案,我就不再像之前Android和IOS設(shè)備一樣截圖說明了。


這么強(qiáng)悍的功能有什么限制么


當(dāng)然這么強(qiáng)悍的功能還是有其自身的限制的,這些限制也是和Fiddler自身的缺點(diǎn)息息相關(guān)的,比如:


我們僅能Debug HTTP流量,對直接使用TCP報文傳輸?shù)挠螒驊?yīng)用等就無能為力了,這種時候需要使用wireshark配合tcpdump命令來做,超出本文范疇了。

Fiddler在處理超過2G的大包時有性能問題,實(shí)際根據(jù)機(jī)器性能可能超過200M都會有Fiddler卡頓的現(xiàn)象,所以盡量不要用于debug較大的數(shù)據(jù)包

Fiddler默認(rèn)會采取存儲轉(zhuǎn)發(fā)的機(jī)制,會將每一條Response完全接收后再轉(zhuǎn)發(fā)給請求方,所以在處理下載,流媒體播放時可能存在問題,但是Fiddler提供了Stream模式用于解決這個問題,在Stream模式下所有的數(shù)據(jù)都會在收到后直接傳遞給請求方或接收方,F(xiàn)iddler僅在此模式下僅能用于查看流量而無法對流量做修改操作

目前我們進(jìn)能抓取到HTTP包的信息,如果需要抓取HTTPS包的信息需要安裝證書,我們會在下一節(jié)中來學(xué)習(xí)HTTPS協(xié)議和其抓包方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容