工作中的常用软件: Charles 与 https 的配置/ios抓包
工作中经常用到的抓包软件 charles,配置https的一些注意点
注册码
SN:
Name: Just For Testing
Serial: 230ADA2020DFBD108E
Name: TEAM MESMERiZE
Serial: FC91D362FB19D6E6CF
Name: MSJ
Serial: 1101CAF6A1989C62AC
配置3步曲
- 配置ip+端口
- 安装 ssl 证书
- 设置权限
电脑端权限设置(Mac)
需要 reset 证书的场景
工作中使用charles对app进行抓包,突然有一天,无法抓包了,显示Unknown。。。。
然后去描述文件里查看,提示证书已过期。
删除无用的证书
原理: 先通过备份文件,将原来证书的另一半给弄出来
然后,用 iosCertTrustManager.py 根据证书的另一半,生成原来对应的描述文件。
使用 iTunes 或者 iMazing 将iPhone备份。(取消加密备份)
iMazing > 文件系统 > 备份 > KeychainDomain > 找到 TrustStore.sqlite3 > 拷贝到 ~/ 目录
前往 ADVTrustStore 下载 ADVTrustStore 用于编辑iOS CA证书
下载完成后,将 iosCertTrustManager.py 同样复制到 ~/
由于 macOS 自带了 Python 所以可以直接在终端运行以下命令./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt
如图所示,你可以看到 ADVTrustStore 重新生成了 WoSign CA Limited, CN 证书
如果你是Mac用户你可以直接试用 Airdrop 隔空投递 选中生成的证书,发送到iPhone进行安装。(你也可以使用Email发送到你的手机)
现在你可以到iPhone > 设置 > 通用 > 描述文件 中找到并删除它。
你可以惊奇地发现它在 证书信任设置 中消失了。
这一步,注意默认的 python 是用
pytnon2
,所以,如果你的默认版本是pytnon3
的时候,你可以做个修改
./iosCertTrustManager.py -t ./TrustStore.sqlite3 -e ./foo.crt
weibo.cn 无法抓取
替换方案
如果 解决不了可以用
stream
这个 app,直接抓包
Android 安装证书
- https://community.tealiumiq.com/t5/Tealium-for-Android/Setting-up-Charles-to-Proxy-your-Android-Device/ta-p/5121
- 注意一点:改名
charles-ssl-proxying-certificate.pem
为charles-ssl-proxying-certificate.cer
即可安装 - 不同手机改名不一样:
- (小米)一般 pem → cer
- (oppo)有些手机: pem → crt