Deepin/Ubuntu/Android环境下mitmproxy配置(必会!)

786 阅读2分钟

1.下载mitmproxy

点击官网下载

选择对应python版本的mitmproxy下载,解压后移动到/usr/bin完成环境变量配置。

如:本人python==3.7.6 对应 mitmproxy==5.3.0

# 解压
tar -zxvf mitmproxy-5.3.0-linux.tar.gz 
# 移动
sudo mv mitmproxy mitmdump mitmweb /usr/bin 

2.配置mitmproxy

# 启动mitmdump获取证书
mitmdump

** 注:如若在pip中已经安装mitmproxy会产生冲突请先卸载 ** image.png

会在主目录生成一个./mitmporxy文件夹(可能隐藏)

image.png

文件夹中存有ca证书,将其pem格式转为crt格式

~/.mitmproxy$  openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt

image.png

在以下位置为额外的CA证书创建目录/usr/share/ca-certificates

sudo mkdir /usr/share/ca-certificates/extra

将CA证书移动到刚才创建的目录

sudo cp  mitmproxy-ca-cert.crt /usr/share/ca-certificates/extra/mitmproxy-ca-cert.crt

安装CA证书

sudo dpkg-reconfigure ca-certificates

image.png

安卓端配置

安卓端也需要安装CA证书才能抓到包,首先需要把证书文件转移到安卓手机中。推荐使用坚果云网盘进行转移。

image.png 这里遇到一个大坑!某些安卓手机只能从信任的应用安装证书,所以从手机端坚果云app中下载的证书是无法被安装的。只能从手机自带的app中,如自带的浏览器中下载的证书才可被安装。

** 此处更新 ** 不需要自己把证书存放到云盘也可以,直接在手机浏览器中访问mitm.it/ 下载对应的证书即可

所以切换到手机浏览器登录web端的坚果云下载才能够从本地文件安装,否则识别不出证书文件。

从本地安装信任证书一般操作:设置->安全->其他安全设置->从设备存储空间安装证书->CA证书->选取证书文件安装

测试运行

安装完证书之后把手机网络切到与笔记本同一wifi,设置手动代理,把ip和端口号填进去(8080) ip可从终端查看

ifconfig

image.png 运行mitmproxy进行抓包测试

mitmproxy

手机端随便打开某个应用即可看见请求

image.png 上下移动可以选中请求按enter进入请求详情

image.pngq退出当前请求


至此,mitmproxy配置调试完毕,可以进行进一步的研究,感谢阅读。