使用的是charles-window。之前使過fiddler但是感覺並沒有charles好用以及一目瞭然。
鏈接: https://pan.baidu.com/s/1NMNXa8M4niLObQKIsCNL3A 提取碼: 2wsa
安裝包可以通過連接下載,官網的下載速度簡直慢到......下載完正常安裝就可以。
操作流程:
1:配置charles
設置不代理計算機的請求
proxy ->取消勾選 windows proxy (勾選則抓取計算機的請求)
設置代理https並添加證書
https的請求需要添加證書,無論是charles還是手機端都需要安裝證書。
1.設置charles
proxy -> SSL Proxy Settings 彈出一個 ssl代理設置界面
勾選Enable SSL Proxying,點擊Add添加需要抓包的host,添加默認端口號443。
還是當前彈窗,選中Client Certificates,添加域名的證書,操作一樣。
- 關心域名的重點顯示,在抓包的時候域名會背景黃色重點顯示
View -> Foucused Hosts 用於設置重點關心域名,在列表中會獨立顯示
添加域名和之前操作一樣。
- 安裝charles證書
Help -> ssl proxy -> Install Charles Root Certificate
點擊“安裝證書”
之後就點下一步完成就可以了。以上pc端的證書配置完成,接下來配置手機端。
查看手機端所需配置
Help -> ssl proxy -> Install Charles Root Certificate on a Moblie Device or Remote Browser
1,可以看到一個彈窗給出了手機端需要配置的域名和端口,域名就是172.xxx.xx.117,端口號就是8888。接下來配置手機中的wifi設置,需要電腦和手機連接同一個wifi,在手機端中修改當前wifi設置,將代理選擇手動,服務器主機名填入域名,服務器端口輸入8888。手機域名配置完成
2,打開瀏覽器輸入“chls.pro/ssl”回車會進入charles證書下載,加載之後是一個.pem文件,需要重命名更成成.crt後綴,這是手機端的證書安裝包,直接打開安裝即可,證書的名稱可以自己命名。注:.pem文件保留下來,後面需要用到。
****正常來說步驟到現在一般的抓包就完成了,但是如果你的手機是安卓7以後的版本,就會失敗 一直是“unknow”。應用程序不再信任用戶或管理員添加的CA用於安全連接。
解決辦法:
配置文件中添加:
<application
...
android:networkSecurityConfig="@xml/network_security_config"
>
在res/xml中添加“network_security_config.xml”文件。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
<domain-config>
<domain includeSubdomains="true">api.xj.mydeertrip.com</domain>//需要抓包的域名
<trust-anchors>
<certificates src="@raw/charles"/>//手機中下載的.pem格式證書文件 名稱
</trust-anchors>
</domain-config>
</network-security-config>
其中charles是.pem文件名,就是手機中下載的.pem證書文件放入工程的res/raw文件夾中即可。
此時在安裝app即可發現charles有報文了