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

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

開(kāi)啟https代理,找到如下菜單

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

手機(jī)WIFI設(shè)置
通過(guò)上面的設(shè)置已經(jīng)成功的開(kāi)啟了一個(gè)172.26.203.178:8888的代理服務(wù)。然后需要在手機(jī)上配置下。由于沒(méi)有安卓機(jī)設(shè)配,所以需要先下載安裝一個(gè)安卓模擬器(有安卓手機(jī)的跳過(guò))
安卓模擬器
下載地址:http://www.dhdzp.com/game/662626.html
安裝好后,模擬器內(nèi)置的應(yīng)用商店找不到taptap的應(yīng)用,所以需要通過(guò)外部的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證書(shū)配置
在手機(jī)瀏覽器中輸入:http://charlesproxy.com/getssl,會(huì)下載一個(gè)CA證書(shū),雙擊安裝,然后選擇【VPN或應(yīng)用】,完成
ps:如果找包的應(yīng)用是http的,可以跳過(guò)和忽略https證書(shū)的設(shè)置步驟
使用
都配置好后,打開(kāi)模擬器中安裝好的app,首次攔截到app流量,Charles會(huì)彈出一個(gè)是否許可的彈窗,允許所有即可,然后就可以愉快的探索app中的秘密了
相關(guān)文章
kotlin項(xiàng)目加入Glide圖片加載庫(kù)并使用GlideApp的方法
這篇文章主要給大家介紹了關(guān)于kotlin項(xiàng)目加入Glide圖片加載庫(kù)并使用GlideApp的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2019-01-01
Android中HttpURLConnection類使用介紹
早些時(shí)候其實(shí)我們都習(xí)慣性使用HttpClient,但是后來(lái)Android6.0之后不再支持HttpClient,需要添加Apache的jar才行,所以,就有很多開(kāi)發(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ī)通訊錄開(kāi)發(fā)詳解
在本篇文章里小編給大家分享了關(guān)于Android個(gè)人手機(jī)通訊錄開(kāi)發(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è)問(wèn)題要分為兩部分,具體內(nèi)容詳情,大家參考下本文吧2017-01-01
Android開(kāi)發(fā)中日期工具類DateUtil完整實(shí)例
這篇文章主要介紹了Android開(kāi)發(fā)中日期工具類DateUtil,結(jié)合完整實(shí)例形式分析了Android針對(duì)日期與時(shí)間的計(jì)算、轉(zhuǎn)換、格式化、獲取等相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Android逆向入門(mén)之常見(jiàn)Davlik字節(jié)碼解析
Dalvik是Google公司自己設(shè)計(jì)用于Android平臺(tái)的虛擬機(jī)。Dalvik虛擬機(jī)是Google等廠商合作開(kāi)發(fā)的Android移動(dòng)設(shè)備平臺(tái)的核心組成部分之一,本篇文章我們來(lái)詳細(xì)解釋常見(jiàn)Davlik字節(jié)碼2021-11-11

