使用Fiddler對android應用抓包 專題

 

工做原理html

先上個圖前端

IC68965

此圖一目瞭然,能夠看出fiddler在請求中所處的位置,咱們就能夠肯定它能幹些什麼。android

 

WinInet(「Windows Internet」)API幫助程序員使用三個常見的Internet協議,
這三個協議是用於World Wide Web萬維網的超文本傳輸協議(HTTP:Hypertext Transfer Protocol)、文件傳輸協議(FTP:File Transfer Protocol)和另外一個稱爲Gopher的文件傳輸協議。
WinInet函數的語法與經常使用的Win32 API函數的語法相似,這使得使用這些協議就像使用本地硬盤上的文件同樣容易。程序員

 

它實際工做在本機的8888端口http代理,咱們啓動fiddler時,它會自動更改代理設置:(能夠在cmd中輸入inetcpl.cpl來打開IE選項)chrome

123456

 


chrome中:瀏覽器


今後咱們能夠看出,只要是http的請求,在請求發起離開本機以前都會通過fiddler,當response回來,沒有達到實際請求者時,也會通過fiddler:這樣咱們就能夠在輕易的實現修改請求和響應的內容,這樣咱們就能夠輕鬆的調試現網的程序。服務器

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

fiddler中打開IE選項:


網絡

與其它工具的區別

       firebug、IE和chrome自帶的開發者工具:這是前端開發的利器了,它們監聽瀏覽器發起的請求和給瀏覽器的響應,顯示請求數據和響應數據,這個fiddler基本功能一致,但它只是監聽,只是對請求和響應數據的記錄,而fiddler徹底是接管了請求和響應。tcp

前言:對於移動端應用來講,經常是須要進行抓包分析數據參數的,Android抓包常規想到的解決方案就是經過adb、tcpdump生成抓包文件後,上傳至PC端,再經過wirshark查看抓包的數據,可是,對於android應用來講,客戶端與服務端的交互更多的是以REST接口服務形式的,多基於HTTP/HTTPS協議,採用tcpdump方式缺點也就比較明顯:ide

一、手機須要root權限

二、操做過程麻煩,且wirshark查看時數據量衆多須要過濾

三、分析的是dump後的文件,不是操做客戶端時實時交互的數據

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

 

Fiddler簡介:Fiddler是一個http協議調試代理工具,它可以記錄並檢查全部你的電腦和互聯網之間的http通信。

經過Fiddler抓包過程:手機鏈接WLAN網絡——設置HTTP代理——手機全部HTTP訪問都通過Fiddler這個中介——訪問外面的Web網絡

1、工具下載:

Fiddler下載地址:http://www.telerik.com/download/fiddler

2、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

3、手機設置HTTP代理
1.進入手機設置——無線網絡——WLAN選擇界面
2.長按某WLAN接入點,點擊「修改網絡」
3.代理設置處,選擇手動,例如輸入代理服務器主機名(Fiddler安裝所在的機器IP):192.168.1.10,端口:8888

4、捕獲HTTPS請求:
這一步是爲了讓Fiddler能捕獲HTTPS請求。若是隻須要截獲HTTP請求,能夠忽略這一步
1. 首先要知道Fiddler所在的機器的IP地址:例如安裝了Fiddler的機器的IP地址是:192.168.1.10
2. 打開瀏覽器, 訪問  http://192.168.1.10:8888, 點"FiddlerRoot certificate" 而後安裝證書

5、正常使用客戶端或用瀏覽器打開網頁,若是有發起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」和」要過濾的域名」

相關文章
相關標籤/搜索