【Android安全】安装mitmproxy Https抓包证书 | 安卓SSL抓包

安装mitmproxy Https抓包证书

macbook上 mitmproxy 抓取安卓手机https流量
重点是安装mitmproxy Https抓包证书

前提

手机需要root,macbook上需要安装好mitmproxy

macbook安装mitmproxy

需要完成下文1-3:
https://github.com/doug-leith/cydia
(接入有线网并开启无线热点)

启用 IP 转发:
sudo sysctl -w net.inet.ip.forwarding=1

保存文件:
https://github.com/doug-leith/cydia/blob/main/pf.conf
最后两行改为:
rdr on bridge100 inet proto tcp to any port {80, 443} -> 127.0.0.1 port 8080
block drop quick on bridge100 inet proto udp to any port 443

在pf.conf所在文件夹执行:
sudo pfctl -f pf.conf
sudo pfctl -e
【Android安全】安装mitmproxy Https抓包证书 | 安卓SSL抓包_第1张图片

编辑文件/etc/sudoers,末尾加上一行:
ALL ALL=NOPASSWD: /sbin/pfctl -s state

测试mitmproxy

普通模式:
mitmweb --showhost --ssl-insecure --rawtcp --listen-port 8888

透明模式:
mitmweb --mode transparent –showhost

upstream模式:
mitmweb --mode upstream:127.0.0.1:7890 --showhost --ssl-insecure --rawtcp --listen-port 8888

安装证书到手机并设置为系统证书

macbook上命令行输入 mitmproxy完成首次启动,获得~/.mitmproxy,其中包含mitmproxy的CA证书

在macbook中找到mitmproxy的证书(例如在/Users/gossip/.mitmproxy)
cd ~/.mitmproxy/

openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer | head -1
得到输出,例如c8450d0d

cp mitmproxy-ca-cert.cer c8750f0d.0

adb push c8750f0d.0 /data/local/tmp

从https://github.com/doug-leith/cydia/blob/main/下载cacert_setup.sh 和 cacert.sh,将其中内容用c8750f0d替换后,放入手机

adb push cacert.sh /data/local/tmp
adb push cacert_setup.sh /data/local/tmp

adb shell
su
cd /data/local/tmp
chmod a+x cacert*
cp cacert.sh /data/adb/service.d/
./cacert_setup.sh

如果出现No such file or directory提示,通常是由于dos格式与unix 格式差异。
使用vi或者vim,看sh脚本通常可以发现问题
例如,每行末尾多了^M
去掉即可

你可能感兴趣的:(安卓安全,安全,https,ssl)