Fiddler抓取移動端設(shè)備的數(shù)據(jù)包,其實很簡單。移動端的數(shù)據(jù)包,都是要走wifi出去,所以我們可以把自己的電腦開啟熱點(diǎn),將手機(jī)連上電腦,F(xiàn)iddler開啟代理后,讓這些數(shù)據(jù)通過Fiddler,F(xiàn)iddler就可以抓到這些包,然后發(fā)給路由器。

【基本介紹】
fiddler能夠記錄客戶端和服務(wù)器之間的所有HTTP請求,可以針對特定的HTTP請求,分析請求數(shù)據(jù)、設(shè)置斷點(diǎn)、調(diào)試web應(yīng)用、修改請求的數(shù)據(jù),甚至可以修改服務(wù)器返回的數(shù)據(jù),功能非常強(qiáng)大,是web調(diào)試的利器。【軟件功能】
Fiddler4數(shù)據(jù)抓包軟件能記錄所有客戶端和服務(wù)器的http和https請求,允許用戶監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù)。Fiddler是一個http協(xié)議調(diào)試代理工具,F(xiàn)iddler數(shù)據(jù)抓包軟件能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,設(shè)置斷點(diǎn),查看所有的“進(jìn)出”Fiddler的數(shù)據(jù)(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。Fiddler要比其他的網(wǎng)絡(luò)調(diào)試器要更加簡單,因為它不僅僅暴露http通訊,還提供了一個友好的用戶格式。
【界面介紹】
主界面中主要包括四個常用的塊:1.Fiddler的菜單欄,上圖綠色部分。包括捕獲http請求,停止捕獲請求,保存http請求,載入本地session、設(shè)置捕獲規(guī)則等功能。
2.Fiddler的工具欄,上圖紅色部分。包括Fiddler針對當(dāng)前view的操作(暫停,清除session,decode模式、清除緩存等)。
3.web Session面板,上圖黃色區(qū)域,主要是Fiddler抓取到的每條http請求(每一條稱為一個session),主要包含了請求的url,協(xié)議,狀態(tài)碼,body等信息,詳細(xì)的字段含義如下圖所示:

4.詳情和數(shù)據(jù)統(tǒng)計面板。針對每條http請求的具體統(tǒng)計(例如發(fā)送/接受字節(jié)數(shù),發(fā)送/接收時間,還有粗略統(tǒng)計世界各地訪問該服務(wù)器所花費(fèi)的時間)和數(shù)據(jù)包分析。如inspector面板下,提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報文的信息:

而composer面板下,則可以模擬向相應(yīng)的服務(wù)器發(fā)送數(shù)據(jù)的過程(不錯,這就是灌水機(jī)器人的基本原理,也可以是部分http flood的一種方式)。

也可以粘貼一次請求的raw http headers,達(dá)到模擬請求的目的:

Filter標(biāo)簽則可以設(shè)置Fiddler的過濾規(guī)則,來達(dá)到過濾http請求的目的。最簡單如:過濾內(nèi)網(wǎng)http請求而只抓取internet的http請求,或則過濾相應(yīng)域名的http請求。Fiddler的過濾器非常強(qiáng)大,可以過濾特定http狀態(tài)碼的請求,可以過濾特定請求類型的http請求(如css請求,image請求,js請求等),可以過濾請求報文大于或則小于指定大?。╞yte)的請求:

請多的過濾器規(guī)則需要一步一步去挖掘。
【使用教程】
Android手機(jī)使用Fiddler軟件教程手機(jī)端配置
電腦配置WIFI后,手機(jī)需要設(shè)置當(dāng)前WIFI的代理,而這個代理地址可以通過電腦的"ipconfig"命令得到,如下圖所示:

以上的192.168.191.1就是本機(jī)的IP地址,然后在手機(jī)端的WIFI的高級設(shè)置中將代理地址設(shè)置為查詢到的IP,端口號碼自己定義,一會兒要用到,IP代理模式修改為DHCP,如下圖所示:

至此,抓取手機(jī)端HTTP包的設(shè)置已經(jīng)完成(抓取HTTPS的包稍后介紹)。
END
PC端配置
電腦端啟動Fiddler后也需要一些簡單的配置。打開Options界面后,我們看到里面包含了許多的選項卡TAB,我們主要設(shè)置"Connections"選項卡。
在"Connections"的TAB中,我們需要設(shè)置一個端口號,這個端口號就是手機(jī)端設(shè)置WIFI代理時自定義的端口,剛才我們設(shè)置了6666,然后勾選"Allow remote computers to connect"選項,此時提示一定要重啟Fiddler才能生效。



至此,操作手機(jī)時,就可以在Fiddler上看到在抓包了,如下圖所示:

END
HTTPS抓包的配置
以上的配置可以抓到HTTP的包,如果需要抓取HTTPS的包,就需要額外的配置,仍然分為PC端和手機(jī)端。
PC端配置HTTPS
PC端需要配置HTTPS的配置,并且需要把PC的Fiddler根證書導(dǎo)出來(后續(xù)安裝到手機(jī)端)。
打開Fiddler的Options菜單,進(jìn)入"HTTPS"的TAB頁面,依次配置如下選項: 1、勾選"Decrypt HTTPS traffic"選項 2、選擇下拉列表的"from remote clients only"選項 3、勾選"Ignore server certificate errors"選項 4、通過"Actions"按鈕選擇"Export Root Certificate to Desktop"將證書導(dǎo)出到電腦桌面上,默認(rèn)的文件名為"FiddlerRoot.cer" 選擇后的界面如下圖所示:

手機(jī)端安裝證書
手機(jī)端需要安裝剛才Fiddler導(dǎo)出的證書,首先把證書放入手機(jī)的內(nèi)置或外置存儲卡上,然后通過手機(jī)的"從存儲設(shè)備安裝"菜單安裝證書。如圖所示:


END
Fiddler常用功能
查看抓包內(nèi)容
經(jīng)過上面的操作,就可以在Fiddler看到手機(jī)的HTTP和HTTPS的包了,如下圖所示:

點(diǎn)擊某一個包,可以在右側(cè)的"Inspectors"選項卡中查看該包的詳細(xì)內(nèi)容,該TAB分為上下兩部分,上部分為發(fā)送的請求詳情,下部分為服務(wù)器給出的回應(yīng)詳情,并且Fiddler會自動將請求/回應(yīng)解析為響應(yīng)的格式(Text\Image\JSON\XML等),如下圖所示:

查看抓包狀態(tài)
點(diǎn)擊某一個包,可以在右側(cè)的"Statistics"選項卡看到該包的一些狀態(tài),包括發(fā)送時間、服務(wù)器響應(yīng)時間、DNS解析時間等,如下圖所示:

也可以同時選中多個包,查看整個選擇集合的狀態(tài),如下圖所示:

設(shè)置過濾器
Fiddler可以設(shè)置豐富的過濾器來過濾要抓取的包,可以在"Filters"的TAB中進(jìn)行配置,如下圖所示:

模擬發(fā)送、重復(fù)發(fā)送
Fiddler可以通過"Composer"功能模擬發(fā)送請求,用戶可以自己手動輸入,也可以將抓到的包直接拖到該TAB中進(jìn)行復(fù)制,然后點(diǎn)擊"Execute"按鈕發(fā)送請求,如下圖所示:

值得一提的是,如果想要將某個包連續(xù)發(fā)送N次,也可以通過在包上點(diǎn)擊右鍵,然后按下Shift點(diǎn)擊"Reissue Requests"按鈕來設(shè)置重復(fù)發(fā)送的次數(shù),如下圖所示:




































