Android抓包方法(一)之Fiddler代理

Android抓包方法(一)

之Fiddler代理

前言:html

作前端測試,基本要求會抓包,會分析請求數據包,查看接口是否調用正確,數據返回是否正確,問題產生是定位根本緣由等。

不論是以前作HTML5手機項目測試,仍是如今的企郵app測試,常常須要抓包,作前端開發基本第一時間會想到Fiddler,的確Fiddler比較強大方便,本文主要以Android手機爲例介紹經過Fiddler抓手機數據包,Iphone、Ipad、Win Phone等可設代理的手機,也都可用此方法。前端


轉載請註明出處瀏覽器

做者:Findyou安全

地址:http://www.cnblogs.com/findyou/p/3491014.html服務器

 

 [目錄]網絡

一、抓包原理app

二、方法優劣測試

三、準備工做加密

四、實例spa

五、其餘


一、抓包原理

Fiddler是相似代理服務器的形式工做,它可以記錄全部你的電腦和互聯網之間的http(S)通信, 能夠查看、修改全部的「進出」的數據 使用代理地址:127.0.0.1, 默認端口:8888。打開 Fiddler會自動設置代理,正常退出會自動註銷代理,非正常退出上不了網,重起一次Fiddler,或直接在IE裏取消代理便可。

 

二、方法優劣

[優勢]:
1).Fiddler操做簡單、方便、功能強大
2).能實時抓包,可模擬修改請求
2).只須要手機支持代理便可
3).適用廣,安卓、Iphone、Ipad、WinPhone等支持代理手機均適用

 

[缺點]:
1).電腦須要安裝Fiddler
2).測試手機須要支持Wifi
3).測試手機與電腦須要同一網絡
4).所測APP需支持代理  

三、準備工做

1).檢查電腦網絡鏈接

a.使用同網絡內的另外一臺電腦)ing本機,檢查是否連通正常。 

緣由:我以前測HTML5項目就發現Fiddler代理抓不到包,手機設置均正確,後發現是網絡內找不到本機,本機防火牆設置問題。

另外須要關注是否同一網絡,若是手機GPRS等上網,你在局域網內抓包...哥以爲你能夠改行了... 

(約定:後文所述Fiddler所在電腦均稱爲本機) 

 

2).Fiddler安裝

a.下載地址: http://fiddler2.com/get-fiddler

b.安裝:省略(下一步...下一步便可)


3).Fiddler配置 

a.容許遠程計算機鏈接Fiddler

菜單:Tools-> Fiddler Options->Connections,勾選"Allow remote computers to connect" 

 

注:8888爲默認端口號,可修改,但需注意兩點,一是本機空閒端口,二是手機代理設置時端口要一致。

 

b.配置可捕獲HTTPS請求(*不須要捕獲HTTPS,則忽略此步*) 

菜單:Tools-> Fiddler Options->Connections,勾選"Capture HTTPS CONNECTs"後

勾選"Decrypt HTTPS traffic"、"Ignore server certificate errors"

 

注1:勾選項英文不認識,請Google,不另作解釋

 

4).手機安裝HTTPS證書(*不須要捕獲HTTPS,則忽略此步*) 

a.首先肯定Fiddler所在電腦的IP地址:例:192.168.8.8 

b.打開被測手機瀏覽器,訪問http://192.168.8.8:8888,點"FiddlerRoot certificate" 而後安裝證書

注:Iphone、Ipad安裝則很簡單,點擊安裝便可。Android安裝稍微麻煩點,則須要先設置手機鎖屏密碼、PIN碼,安裝證書時會提示,按步驟走便可。 


四、實例

ThinkDrive抓包實例

一期測試時,涉汲到APP安全測試,所以須要查看傳輸數據是否存在明文密碼等。

 

1).開啓Fiddler,肯定本機IP、Fiddler端口號

本機IP:192.168.8.8

Fiddler端口號:8888   

 

 

2).手機鏈接本機所在同網絡Wifi,設置代理

a.代理主機名:Fiddler所在電腦IP

b.代理服務器端口: Fiddler使用的端口

 

3).APP操做,生成請求數據

a.例:登陸  

 


 

b.例:退出登陸

 

 

4).分析Fiddler抓包數據

a.例:登陸請求分析

1).雙擊查看登陸請求,選擇WebForms或JSON等其餘類標籤,查看請求參數值,對照接口文檔及你想要測試的點分析,請求是否正確,查看返回數據是否正確。

2).同賬號,不一樣密碼;不一樣賬號,同密碼等測試用例,測試屢次登陸後發現,密碼僅爲MD5加密,沒有對密碼進行很好的加密傳輸 

3).分析存在如下問題:

問題1:賬號密碼採用http傳輸,賬號與密碼(MD5值)局域網能夠捕獲; 

問題2:密碼雖採用MD5加密,但傳輸未加密,簡單密碼能夠在線解密(圖中密碼在線解密不到1秒:123qwe);
問題3:密碼不解密也同樣能夠登陸,經過A賬號在app登陸,再用sniffer獲得的B 賬號與密碼(MD5值),使用Fiddler修改A賬號的請求完成B賬號在APP登陸。  

注1:Fiddler功能使用,請Google或百度,此處不詳說

注2:以上實例僅爲參考,具體測試,以所相關業務及測試目標爲導向進行測試分析。  

 

五、其餘

本文雖主要對Android手機抓包舉例,但其目的是說明,不論是電腦,仍是手機,仍是其餘上網終端,均可以經過代理的方式來抓包(HTTS、HTTPS)。



 

 

轉載請註明出處:Findyou

相關文章
相關標籤/搜索