Android安全安装mitmproxy Https抓包证书 | 安卓SSL抓包
Posted Jouzzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
编辑文件/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
去掉即可
mitmproxy-ca-cert.pem手机证书文件安装(一直安装不上,折磨我了两天!)
参考技术A 在mitmproxy软件证书配置中,其中手机的证书安装过程一般为:“将mitmproxy-ca-cert.pem”文件发送到手机上,点击证书文件,便会出现一个安装窗口。”
但是,我的Android手机并不识别pem文件,如华为荣耀10 ,华为Nova青春版。
解决方法为:
(打开手机“设置”;选择“安全和隐私”;点击“更多安全设置”,找到“从SD卡安装”;搜索该证书文件,点击安装.)
1 设置
2 安全与隐私
3 更多安全设置
4 从存储设备安装
5 选中证书文件,点击安装
6 输入锁屏密码
7 给安装文件命名mitmproxy
8 结束了,完成安装!!!
以上是关于Android安全安装mitmproxy Https抓包证书 | 安卓SSL抓包的主要内容,如果未能解决你的问题,请参考以下文章