如何徹底解決某些 APP 無法通過代理抓包的問題
你好,我是征哥,今天分享如何解決部分 APP 通過代理無法抓包的問題。為了防止外部平臺(tái)的爬取,設(shè)置為付費(fèi),你可以閱讀 71%。
主要內(nèi)容:
背景 代理是什么? 為什么某些 APP 不走代理 解決方案 IPhone 實(shí)操 軟件下載方法
背景
最近想做一個(gè)自動(dòng)化任務(wù),但是不太想使用 appium,太麻煩了,而且可移植性差,于是我決定模擬 HTTP 請(qǐng)求來實(shí)現(xiàn)自動(dòng)化,于是在電腦開啟了代理之后,然后手機(jī) WiFi 上設(shè)置代理,發(fā)現(xiàn)很多 APP 都可以抓包,唯獨(dú)我想自動(dòng)化的那個(gè) APP 無法抓包,更奇怪的是,剛打開的時(shí)候,一些請(qǐng)求可以抓到,后面的完全抓不到。
問題在腦子里停留了幾天,今天終于有了解決方案。
代理是什么?
代理是一個(gè)中間人。

沒有代理的時(shí)候,客戶端只接請(qǐng)求服務(wù)器,有了代理,客戶端就請(qǐng)求代理,代理再去請(qǐng)求服務(wù)器。服務(wù)器返回時(shí)先返回給代理,代理,返回給客戶端。
有了代理我們就可以看到客戶端的請(qǐng)求數(shù)據(jù),和服務(wù)器的返回?cái)?shù)據(jù)。常見的代理軟件:Fiddler 、Charles、Burp Suite Professional,我最常用的就是 Burp Suite Professional,它是 CTF 最常用的抓包工具,內(nèi)部集成不少實(shí)用工具,Java 開發(fā),輕量級(jí),Windows 和 Mac 通用,文末提供下載。
現(xiàn)在電腦上啟動(dòng) Burp(Fiddler、Charles 也可以),設(shè)置好代理,就啟動(dòng)了一個(gè) HTTP 代理服務(wù)器,IP 為 XXXXXX 端口為 XX,你可以對(duì)某些應(yīng)用單獨(dú)設(shè)置代理,也可以設(shè)置全局代理,設(shè)置全局代理之后,很多應(yīng)用就自動(dòng)使用代理了。
如果是 Mac 或 Linux,在命令行使用代理的話,還需要執(zhí)行export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;
如果您使用的是手機(jī)等移動(dòng)設(shè)備,可以在當(dāng)前 Wi-Fi 設(shè)置處告訴系統(tǒng)你要使用 HTTP 代理。
設(shè)置好代理之后,客戶端發(fā)起 HTTP 請(qǐng)求的時(shí)候,就不會(huì)再去進(jìn)行 DNS 解析去連接目標(biāo)服務(wù)器,而是直接連接代理,然后代理服務(wù)器會(huì)與客戶端建立連接,再然后代理服務(wù)器根據(jù)請(qǐng)求信息再去連接真正的服務(wù)器。
為什么某些 APP 不走代理
一般情況下,只要我們?cè)谙到y(tǒng)層面上設(shè)置了代理,客戶端在進(jìn)行 HTTP 請(qǐng)求時(shí)就會(huì)走系統(tǒng)代理。
但是有例外,有些 app 默認(rèn)就是不走系統(tǒng)代理,或者某些關(guān)鍵的請(qǐng)求不走代理,實(shí)際情況還真不少,這種情況下,設(shè)置了代理也沒用。
解決方案
知道了為什么不走代理,就有了解決方案。
有兩種方案,推薦方案二,能簡(jiǎn)單高效解決問題。
方案一
適合在 PC 電腦上進(jìn)行。通過修改 host 文件,讓客戶端認(rèn)為代理服務(wù)器就是目標(biāo)服務(wù)器。比如客戶端請(qǐng)求 somedomain.com,我們的代理服務(wù)器是 192.168.3.9:80,那就在 host 里面添加 "192.168.3.9 somedomain.com" 然后代理服務(wù)器收到請(qǐng)求后在轉(zhuǎn)發(fā)到 somedomain.com。
方案二
適合移動(dòng)設(shè)備或 PC,簡(jiǎn)單來說就是使用 VPN 將終端設(shè)備的流量轉(zhuǎn)發(fā)到代理服務(wù)器。VPN 軟件上添加一個(gè) HTTP 服務(wù)器,就是代理服務(wù)器的 IP 和 端口,然后設(shè)置全局代理,這樣所有的請(qǐng)求都會(huì)走 VPN,也就是走代理服務(wù)器了。這樣就可以抓包。親測(cè)有效。
IPhone 實(shí)操
1、電腦上打開 Burp Suite,設(shè)置好代理,如下圖所示:

2、確保手機(jī)和電腦上的代理處于同一個(gè)網(wǎng)路,簡(jiǎn)單來說就是連同一個(gè) Wi-Fi。
然后手機(jī)上瀏覽器打開 "http://192.168.31.72:8080",點(diǎn)擊 CA Certificate 安裝證書,如下圖所示:
