標籤:webforms 登入 代理 wifi ack tps 沒有 margin class
Android抓包方法(轉)
Findyou
地址:http://www.cnblogs.com/findyou/p/3491014.html
前言:
做前端測試,基本要求會抓包,會分析請求資料包,查看介面是否調用正確,資料返回是否正確,問題產生是定位根本原因等。
不管是之前做HTML5手機項目測試,還是現在的企郵app測試,經常需要抓包,做前端開發基本第一時間會想到Fiddler,的確Fiddler比較強大方便,本文主要以Android手機為例介紹通過Fiddler抓行動數據包,Iphone、Ipad、Win Phone等可設代理的手機,也均可用此方法。
[目錄]
1、抓包原理
2、方法優劣
3、準備工作
4、執行個體
5、其他
1、抓包原理Fiddler是類似Proxy 伺服器的形式工作,它能夠記錄所有你的電腦和互連網之間的http(S)通訊,可以查看、修改所有的“進出”的資料。使用Proxy 位址:127.0.0.1, 預設連接埠:8888。開啟Fiddler會自動化佈建代理,正常退出會自動登出代理,非正常退出上不了網,重起一次Fiddler,或直接在IE裡取消代理即可。
2、方法優劣
[優點]:1).Fiddler操作簡單、方便、功能強大2).能即時抓包,可類比修改請求2).只需要手機支援代理即可3).適用廣,安卓、Iphone、Ipad、WinPhone等支援代理手機均適用
[缺點]:1).電腦需要安裝Fiddler2).測試手機需要支援Wifi3).測試手機與電腦需要同一網路4).所測APP需支援代理 3、準備工作
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 碼,安裝認證時會提示,按步驟走即可。
4、執行個體
ThinkDrive抓包執行個體
一期測試時,涉汲到APP安全性測試,因此需要查看傳輸資料是否存在純文字密碼等。
1).開啟Fiddler,確定本機IP、Fiddler連接埠號碼
本機IP:192.168.8.8
Fiddler連接埠號碼:8888
2).手機串連本機所在同網路Wifi,設定代理
a.代理主機名稱:Fiddler所在電腦IP
b.Proxy 伺服器連接埠: 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:以上執行個體僅為參考,具體測試,以所相關業務及測試目標為導向進行測試分析。
5、其他
本文雖主要對Android手機抓包舉例,但其目的是說明,不管是電腦,還是手機,還是其他上網終端,都可以通過代理的方式來抓包(HTTS、HTTPS)。
Android抓包方法(轉)