mac+charles抓國外的https協議

weixin_33860722發表於2018-04-01

能抓國外的https,把vpn設定那部分去掉就能抓國內的https協議了
申明環境:macOS 10.12.6 + charles 4.1.4 + ShadowsocksX 1.5.1

下面介紹抓包的操作流程(在windows上我也操作過,方法一樣的):
1. 先按照《Windows+charles抓Android和ios http協議》文章的方法設定charles,設定完,charles是抓不到https的包的

2.接下來 Proxy->SSL Proxying Settings->勾選Enable SSL Proxying->在Location部份選擇add: * ->再選擇add: * 埠443(可以不寫,或者再次add一次),結果如下圖所示

3.接下來安裝證書

3.1在電腦上安裝證書
Help->SSL Proxying->安裝證書(如下圖上面那個箭頭所指)


6983308-28a92ca006da3b91.png
圖一

注意:此步驟安裝完後電腦可能不信任證書,如果是mac上,安裝完如下圖所示,雙擊charles proxy得到下圖charles proxy ca的介面,在該介面中選擇始終信任(如果是windows在安裝證書的時候選擇將證書放入 受信任的根證書頒發機構)

6983308-6bdfd9a2b03d1450.png
圖二

6983308-5403cb0bd5fc91d6.png
圖三

3.2在待抓包的手機上安裝證書,如下圖所示


6983308-ffd828f0e634cb22.png
圖四

注意:此安裝步驟要先確保1.步驟完成,也就是手機代理設定完成,安裝完後手機也可能不信任該證書,也是要找到證書並信任它,不同的手機不太一樣,我的nubia就不用,但是iphone是要的(iphone是在設定->通用->描述檔案確認證書已安裝 和 設定->通用->關於本機->證書信任設定 中選擇信任證書,其他手機應該差不多,如果沒找到,百度一下應該也會有),完成步驟3.應該可以抓到https的協議的,你抓個baidu試試,如果沒有就先按照本部落格仔細檢查一下設定,然後重啟一下手機和電腦再試試

4.此步驟是設定去抓翻牆的https協議的(此步驟需要自己有代理,我自己買了個國外的vpn服務,然後通過shadowsocksX 1.5.1登陸)

4.1先用shadowsocksX(Mac下是shadowsX,windows下是shadows)登陸自己的vpn(在windows下還要勾選“允許來自區域網的連線”,Mac不需要對shadowsocks做其他操作)

4.2接下來設定charles使其能夠走翻牆的代理,開啟抓包工具 charles
Proxy->External Proxy Settings->Web Proxy(HTTP)和Secure Web Proxy(HTTPS)均填入:
Web Proxy Server 填入本機ip : shadowsocks代理埠(shadowsocks代理埠,在Mac的shadowsocks的偏好設定裡有,在windows上shadowsocks介面上有個本機代理埠的顯示,下圖是Mac的顯示)
Password填寫vpn密碼


6983308-680a5bc6f427bddf.png
圖五
6983308-4e3abc28711a1835.png
圖六
6983308-fb69e5b7740c4c48.png
圖七

完成3步驟就可以抓取https了,完成4步驟就可以抓取翻牆的https協議了,有些國外用https的手機app抓不到,可能是設定了客戶端不走代理,比如facebook,但是facebook手機web能夠抓到

注意:在上述配置完成後,若想抓取電腦網頁上的包,開啟網頁嘗試,看看Charles有沒有抓到包,若沒有則在 系統偏好設定->網路->高階->代理 選項中取消選中自動代理配置即可。

相關文章