搭建mac使用Charles抓包安卓app環(huán)境配置過程
前言
對(duì)于一個(gè)剛接觸業(yè)務(wù)對(duì)業(yè)務(wù)不熟悉的開發(fā)而言,最快熟悉業(yè)務(wù)以及了解項(xiàng)目代碼構(gòu)成的途徑,就是從具體的頁(yè)面入手,然后打開瀏覽器web控制臺(tái),定位url找到相關(guān)的接口,然后開啟debug之旅。然而對(duì)于一個(gè)app而言,類似的做法就是使用抓包工具定位url。廢話不多說,直接實(shí)操起來。
準(zhǔn)備工具CHARLES
下載
下載地址:http://m.fzitv.net/softs/394890.html
這是一款mac端收費(fèi)的抓包軟件,從上面地址下載好后,有30天的免費(fèi)試用時(shí)間,免費(fèi)使用需要經(jīng)常重啟服務(wù)。這個(gè)期間,你可以盡快向公司申請(qǐng)購(gòu)買商業(yè)授權(quán)碼。
原理淺析
原理很簡(jiǎn)單,通過Charles可以啟動(dòng)一個(gè)流量代理服務(wù),然后設(shè)置好手機(jī)網(wǎng)絡(luò)代理,將流量導(dǎo)向Charles代理服務(wù)。然后通過一些規(guī)則攔截你關(guān)注的流量做可視化的分析處理
配置
安裝完成后,打開Charles,找到如下圖所示的配置:

定位到如圖所示菜單,然后會(huì)彈出一個(gè)彈窗,箭頭所示的信息即為代理服務(wù)的ip和端口:

開啟https代理,找到如下菜單

會(huì)彈出一個(gè)窗口,確認(rèn)是否開啟了SSl Proxying。然后點(diǎn)擊add,輸入*通配符,通配所有的url請(qǐng)求

手機(jī)WIFI設(shè)置
通過上面的設(shè)置已經(jīng)成功的開啟了一個(gè)172.26.203.178:8888的代理服務(wù)。然后需要在手機(jī)上配置下。由于沒有安卓機(jī)設(shè)配,所以需要先下載安裝一個(gè)安卓模擬器(有安卓手機(jī)的跳過)
安卓模擬器
下載地址:http://m.fzitv.net/game/662626.html
安裝好后,模擬器內(nèi)置的應(yīng)用商店找不到taptap的應(yīng)用,所以需要通過外部的apk安裝,首先準(zhǔn)備好安卓apk,然后找到模擬器的如下圖標(biāo),點(diǎn)擊后可選擇本地的apk包直接安裝。

WIFI代理設(shè)置
找到設(shè)置,找到WiFi,然后久按選中的WiFi,會(huì)彈出一個(gè)窗口,點(diǎn)擊“修改網(wǎng)絡(luò)”,然后設(shè)置好,如圖:

記得將127.0.0.1排除掉,模擬器本身會(huì)ping這個(gè)ip
HTTPS證書配置
在手機(jī)瀏覽器中輸入:http://charlesproxy.com/getssl,會(huì)下載一個(gè)CA證書,雙擊安裝,然后選擇【VPN或應(yīng)用】,完成
ps:如果找包的應(yīng)用是http的,可以跳過和忽略https證書的設(shè)置步驟
使用
都配置好后,打開模擬器中安裝好的app,首次攔截到app流量,Charles會(huì)彈出一個(gè)是否許可的彈窗,允許所有即可,然后就可以愉快的探索app中的秘密了
相關(guān)文章
kotlin項(xiàng)目加入Glide圖片加載庫(kù)并使用GlideApp的方法
這篇文章主要給大家介紹了關(guān)于kotlin項(xiàng)目加入Glide圖片加載庫(kù)并使用GlideApp的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2019-01-01
Android中HttpURLConnection類使用介紹
早些時(shí)候其實(shí)我們都習(xí)慣性使用HttpClient,但是后來Android6.0之后不再支持HttpClient,需要添加Apache的jar才行,所以,就有很多開發(fā)者放棄使用HttpClient了,HttpURLConnection畢竟是標(biāo)準(zhǔn)Java接口(java.net) ,適配性還是很強(qiáng)的2022-12-12
Android使用http協(xié)議與服務(wù)器通信的實(shí)例
本篇文章主要介紹了Android使用http協(xié)議與服務(wù)器通信,Android與服務(wù)器通信通常采用HTTP通信方式和Socket通信方式,而HTTP通信方式又分get和post兩種方式。感興趣的小伙伴們可以參考一下。2016-12-12
Android個(gè)人手機(jī)通訊錄開發(fā)詳解
在本篇文章里小編給大家分享了關(guān)于Android個(gè)人手機(jī)通訊錄開發(fā)的步驟和相關(guān)源碼,有需要的朋友們學(xué)習(xí)下。2019-02-02
一個(gè)Activity中多個(gè)Fragment實(shí)現(xiàn)沉浸式狀態(tài)欄的解決方法
這篇文章主要介紹了一個(gè)Activity中多個(gè)Fragment實(shí)現(xiàn)沉浸式狀態(tài)欄解決方法,對(duì)于解決這個(gè)問題要分為兩部分,具體內(nèi)容詳情,大家參考下本文吧2017-01-01
Android開發(fā)中日期工具類DateUtil完整實(shí)例
這篇文章主要介紹了Android開發(fā)中日期工具類DateUtil,結(jié)合完整實(shí)例形式分析了Android針對(duì)日期與時(shí)間的計(jì)算、轉(zhuǎn)換、格式化、獲取等相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Android逆向入門之常見Davlik字節(jié)碼解析
Dalvik是Google公司自己設(shè)計(jì)用于Android平臺(tái)的虛擬機(jī)。Dalvik虛擬機(jī)是Google等廠商合作開發(fā)的Android移動(dòng)設(shè)備平臺(tái)的核心組成部分之一,本篇文章我們來詳細(xì)解釋常見Davlik字節(jié)碼2021-11-11

