簡述
在測試app的時候,比如:頁面無法展示內容(由服務端接口返回值提供),往往就需要去定位問題,找到所拋出的請求是否異常,pc瀏覽器和mac瀏覽器訪問是可以通過平台提供的軟件(Charles&fiddler)來實現,那么如何抓到手機拋出的請求呢?實現抓取手機網絡請求
這里分別介紹兩種工具在兩種平台下的使用方法
- (2015/12/02 更新 加入抓取https的設置方法)
①、Pc windows+fiddler(Http&Https)
條件:
第一種為適用於windows平台,適用fiddler來實現抓取手機網絡請求。
1、windows安裝fiddler
2、pc和手機需要在同一局域網下(二級路由也沒有問題)
第一步:安裝設置fiddler代理
Fiddler --> Tools --> Fiddler Options --> connections
在Fiddler listen on port中填入一個自定義4位數端口號(不能以0開頭)
勾選選項“Allow remote computers to connect”
至此fiddler的代理設置已完成(設置完成后不要關閉fiddler)
第二步:手機設置連接fiddler代理
這里以ios 設備為例;(安卓也是一樣的)
打開手機的WIFI設置,連接局域網可用WIFI;點擊已連接WIFI后的 i 標志;進入網絡代理設置
設置HTTP代理為手動,填入fiddler所在的pc機ip地址,以及設置的Fiddler listen on port並保存
!設置截獲Https請求(Fiddler)
依次找到菜單:FiddlerOption --> https標簽
1.勾選 Captrue HTTPS CONNECTs和 Decrypt HTTPS traffic選項
2. 手機安裝fiddler信任證書以iPhone為例,安卓同理
安卓和IOS均要使用手機系統瀏覽器,然后輸入代理ip和端口號來訪問你的fiddler代理ip:
如下圖(代理fiddler的pc的ip是192.168.101.34,端口號8888)
如果代理成功的話,會看到以下頁面,如果不成功請檢查ip和防火牆
點擊“FiddlerRoot certificate”會跳轉到系統證書安裝確認頁面:
<b>安裝完成之后,再次訪問指定網頁,所有的https請求的返回值你都可以看得到了~</b>
②、Mac+Charles
條件:
第二種為適用於mac os平台,使用charles來實現抓取手機網絡請求。
1、mac os 安裝charles(charles工具試用期是30天的,破解教程自行度娘或者call me)
2、mac os 和手機需要在同一局域網下 (二級路由無效)
第一步:設置Charles代理
1、運行Charles程序,設置port
Proxy --> ProxySettings --> Proxies --> httpProxy
第二步:獲取mac os當前ip
按住option鍵,點擊右上角的wifi圖標即可看到IP:
第三步:設置手機HTTP代理
3、打開iOS設置,進入當前wifi連接,設置HTTP代理,將服務器填為上一步中獲得的IP,即192.168.199.147,端口填8888:
<b>結尾:在不使用的時候需要將手機中得HTTP代理關閉,否則pc或者mac關機或者關閉軟件后,手機無法正常上網!</b>
!設置截獲Https請求(Charles)
如果不進行下面的設置,https的reqeust和response都是亂碼,設置完之后https就可以抓包了。
Mac端安裝證書操作:
點擊Charles菜單的help->SSL->proxying->install charles root certificate
<b>在到電腦的鑰匙串中信賴剛剛的證書:</b>
手機端安裝證書操作:
下載 Charles證書解壓后導入到iOS設備中(將crt文件作為郵件附件發給自己,再在iOS設備中點擊附件即可安裝;也可上傳至百度之類的網盤,通過safari下載安裝)
電腦端操作:
1、在Charles的工具欄上點擊設置按鈕,選擇Proxy Settings…
切換到SSL選項卡,選中Enable SSL Proxying。(別急,選完先別關掉)
2、SSL選項卡的Locations里填寫要抓包的域名和端口,點擊Add按鈕,在彈出的表單中Host填寫域名。比如填api.baidu.com,Port填443
!!!信任證書
很多小伙伴在設置好代理,裝好證書之后依然會出現https請求無法解包的情況!經過一段時間研究,找資料發現原來僅僅只是需要一個小設置即可!
設置-通用-關於本機-證書信任設置 , 打開相應證書的開關即可
打開對應證書開關
作者:優雅的豬
鏈接:https://www.jianshu.com/p/1626832d8f5d
來源:簡書

