快乐学习
前程无忧、中华英才非你莫属!

python-mitmproxy-交互式 HTTPS 代理-1

简介

最近要实现接口自动化测试的,流量录制和回放。

mitmproxy最为合适,基于服务器的,基于Python的,可编程的。可互动的。so,已经抛弃了什么Fiddler 、charles ,因为它才是最好的。

他的背景是,适用于渗透测试人员和软件开发人员的必备利器,拿过来做接口自动化测试的流量录制和回放,可能也就不到3行代码就能实现。so ,我选择它来做我们的工具组件之一。

安装

安装包下载地址:
https://mitmproxy.org/downloads/#5.3.0/

你什么系统就下什么安装包,windows 版本,直接点下一步下一步,点击击默认安装就好。

千万别下最新版本,因为它跟python版本强依赖。最新版本8.x 需要python3.10x版本,我的py是3.8 只能安装5.x版本。

其他版本的安装你不会,可以看这个文档
https://docs.mitmproxy.org/archive/v5/overview-installation/

启动

windows版本安装完成会自动启动

如果没有启动可以手动启动,或者下次启动可以按照我说的:

如果你的mitmproxy安装在默认路径下。可以打开cmd 命令窗口
切换到图片中所在的路径执行:mitmdump 并回车,就可以开启。

监听端口8080,配置谷歌浏览器代理。

在谷歌浏览器上,安转一个插件:SwitchyOmega_Chromium.zip

可以找博客主要,或者自己百度下载,然后顺手百度一下,谷歌浏览器如何安装插件即可。

安装好之后,配置mitmproxy服务器的监听端口号为8080

然后在配置好的代理环境下访问 http://www.ztloo.com

可以看到访问http://www.ztloo.com 可以成功,显示200,其他链接

Cannot establish TLS with client (sni: beacons.gvt2.com): TlsException("SSL) 会出现这样的错误,是因为需要安装证书,它跟fiddler、charles 一样也是需要安装证书的,要不然抓不了HTTS的数据包。

安装证书

http://mitm.it/ 在谷歌浏览器代理环境下,访问这个链接,会提示你安装对应的证书引导提示

点击对应的get绿色区域,会自动下载证书文件,然后安装即可。

比如windows 上安装双击下列文件(跟着提示,安装到根证书即可)
不需要设置密码

mitmproxy-ca-cert.p12

然后就能抓取https 的数据包了,例如百度。

手机上安装

访问http://mitm.it/ 下载对应手机的证书,发送到对应手机,
如果手机不识别,就去安卓手机的安全、从SD卡下安装证书。

手机端iphone上下载安装mitmproxy证书:

  • 手机和PC在同一个局域网中,设置wifi代理为PC端的ip,端口为mitmproxy的端口(默认8080)

  • 手机浏览器访问mitm.it,下载安装mitmproxy描述文件,完成验证

  • 经过上面两步,个别APP就可以访问并被mitmproxy在PC端截获,但有时发现很多APP无法上网,这时还需要添加证书的信任

“设置”——关于本机——证书信任设置——开启mitmproxy完全信任

安卓端android(华为为例)安卓端android(华为为例)

  • 1 设置

  • 2 安全与隐私

  • 3 更多安全设置

  • 4 从存储设备安装

  • 5 选中证书文件,点击安装

  • 6 输入锁屏密码

  • 7 给安装文件命名mitmproxy


更详细的说明可以参考:https://mitmproxy.org/,后续会更新更为实战,更为好玩的数据抓取功能。一定要持续关注哦~

打赏
赞(2) 打赏
未经允许不得转载:同乐学堂 » python-mitmproxy-交互式 HTTPS 代理-1

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

特别的技术,给特别的你!

联系QQ:1071235258QQ群:710045715

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏