使用Fiddler對android應用抓包

來源:互聯網
上載者:User

標籤:ORC   check   intern   工作原理   即時   world   一個   簡介   解決方案   

工作原理

先上個圖

此圖一目瞭然,可以看出fiddler在請求中所處的位置,我們就可以確定它能幹些什麼。

 

WinInet(“Windows Internet”)API協助程式員使用三個常見的Internet協議,
這三個協議是用於World Wide Web全球資訊網的超文字傳輸通訊協定 (HTTP)(HTTP:Hypertext Transfer Protocol)、檔案傳輸通訊協定(FTP:File Transfer Protocol)和另一個稱為Gopher的檔案傳輸通訊協定。
WinInet函數的文法與常用的Win32 API函數的文法類似,這使得使用這些協議就像使用本地硬碟上的檔案一樣容易。

 

它實際工作在原生8888連接埠http代理,我們啟動fiddler時,它會自動更改代理設定:(可以在cmd中輸入inetcpl.cpl來開啟IE選項)

 


chrome中:


從此我們可以看出,只要是http的請求,在請求發起離開本機之前都會經過fiddler,當response回來,沒有達到實際要求者時,也會經過fiddler:這樣我們就可以在輕易的實現修改請求和響應的內容,這樣我們就可以輕鬆的調試現網的程式。

http://www.cnblogs.com/forcertain/archive/2012/11/29/2795139.html

fiddler中開啟IE選項:


與其它工具的區別

       firebug、IE和chrome內建的開發人員工具:這是前端開發的利器了,它們監聽瀏覽器發起的請求和給瀏覽器的響應,顯示請求資料和響應資料,這個fiddler準系統一致,但它只是監聽,只是對請求和響應資料的記錄,而fiddler完全是接管了請求和響應。

前言:對於移動端應用來說,常常是需要進行抓包分析資料參數的,Android抓包常規想到的解決方案就是通過adb、tcpdump產生抓包檔案後,上傳至PC端,再通過wirshark查看抓包的資料,但是,對於android應用來說,用戶端與服務端的互動更多的是以REST介面服務形式的,多基於HTTP/HTTPS協議,採用tcpdump方式缺點也就比較明顯:

1、手機需要root許可權

2、操作過程麻煩,且wirshark查看時資料量眾多需要過濾

3、分析的是dump後的檔案,不是操作用戶端時即時互動的資料

因此,本文介紹通過Fiddler進行android抓包,以方便快捷地實現對手機應用進行抓包分析

 

Fiddler簡介:Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互連網之間的http通訊。

通過Fiddler抓包過程:手機串連WLAN網路——設定HTTP代理——手機所有HTTP訪問都經過Fiddler這個中介——訪問外面的Web網路

一、工具下載:

Fiddler:http://www.telerik.com/download/fiddler

二、Fiddler設定
開啟Fiddler,     Tools-> Fiddler Options .

切換至HTTPS面板
選中"Decrpt HTTPS traffic",設定Fiddler可以截獲HTTPS請求

選中checkbox, 彈出如下的對話方塊,點擊"YES"

在彈出的對話方塊 點擊"Yes" ,就可以捕獲原生https請求了

 

 

切換至Connections面板
選中"Allow remote computers to connect".允許別的機器把HTTP/HTTPS請求發送到Fiddler上來

配置完後需要按提示重啟Fiddler

三、手機設定HTTP代理
1.進入手機設定——無線網路——WLAN選擇介面
2.長按某WLAN存取點,點擊“修改網路”
3.代理設定處,選擇手動,例如輸入Proxy 伺服器主機名稱(Fiddler安裝所在的機器IP):192.168.1.10,連接埠:8888

四、捕獲HTTPS請求:
這一步是為了讓Fiddler能捕獲HTTPS請求。如果只需要截獲HTTP請求,可以忽略這一步
1. 首先要知道Fiddler所在的機器的IP地址:例如安裝了Fiddler的機器的IP地址是:192.168.1.10
2. 開啟瀏覽器, 訪問  http://192.168.1.10:8888, 點"FiddlerRoot certificate" 然後安裝認證

五、正常使用用戶端或用瀏覽器開啟網頁,如果有發起HTTP/HTTPS請求,則在Fiddler中將能看到抓取到的資料

 

Fiddler使用教程參見:http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html#qita
Fiddler手機抓包參考:http://www.cnblogs.com/TankXiao/p/3063871.html

http://blog.csdn.net/hunterno4/article/details/19998273

http://jingyan.baidu.com/article/2a1383289d7792074b134f69.html
http://jingyan.baidu.com/article/2f9b480d81df9241ca6cc258.html

Fiddler過濾指定網域名稱的方法一
切換到fiddler右側視窗的Filters選項卡,勾選頂部的“Use Filters”,找到Hosts地區,設定以下三個選項:


1.Hosts的第一項 有三個子選項,不做更改:
“No Zone Filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”

2.Hosts的第二項只監控以下網址,如只監控百度,在下面的輸入框裡填上 www.baidu.com
“No Host Filter”不設定hosts過濾
“Hide The Following Hosts”隱藏過濾到的網域名稱
“Show Only The Following Hosts”只顯示過濾到的網域名稱
“Flag The Following Hosts”標記過濾到的網域名稱

3.文字框內輸入需要過濾的網域名稱,多個網域名稱使用”;“分號分割。fiddler預設會檢查http頭中設定的host,強制顯示http地址中的網域名稱。

 

fiddler過濾指定網域名稱的方法二
fiddler_request

1.切換到fiddler右側視窗的Filters選項卡,勾選頂部的“Use Filters”,根據需要找到request headers或者response headers地區
2.勾選”set request header”,文字框分別輸入”Host”和”要過濾的網域名稱”

 

注意事項:
1、fidder所在主機代理連接埠8888沒用被防火牆設定攔截網路進出:
2、手機與主機串連同一網路:
3、fidder用v.4.6或者以上版本。

使用Fiddler對android應用抓包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.