admin管理员组文章数量:1565292
mitm详细配置&代理配置&If you can see this, traffic is not passing through mitmproxy.
mitmproxy优点
功能看包上和fiddler,Chrome的浏览器抓包一样强大,都能解析所有信息和响应。但是在解析和操作上,Chrome不能对包数据作任何的更改,fiddler只能按着自带的参数对包进行保存或修改,而无法高度定制,尤其是对python开发者而言。而mitm却是python编写,不需要像mob-browserproxy一样安装java这些额外的配置(所以听说mob-browserproxy这个项目在mitm出来的时候就已经停止更新维护了,简单强大,稳定,好用,不用管理进程(mob-browser需要手动清理java进程,或者通过清理子进程的方式,不然时间就了服务器一堆残留进程,内存崩溃))。当然最最重要的是可以获取到response的响应,可以修改请求头和每个能在Chrome抓包中看到的信息,可见即可改,一个字:强就对了!看正题
写文目的
网上相关教程看似一大堆,但是对于我这种新手小白而言,也是一步步猜了超级多的坑,尤其是配置代理时候的一些参数详情,许多文章都是默认你就是知道所有的代理是怎么使用,了如指掌的。属实琢磨了许久,所以今天自己特地写一个用来跳坑。记录一下学习配置过程。
下载
下载就不说了,几乎每个教程都能找到下载方式。
Windows
pip install mitmproxy
macos
brew install mitmproxy
linux
官网下载教程>>>官网下载教程
其实有python3在Linux的话同样可以使用
pip3 install mitmproxy
安装好之后可以输入mitmdump --version查看版本信息,有输出信息则表示正常安装。
也可以通过输入mitmweb mitmproxy mitmdump中的一个来检测是否能够正常运行。
区别
前两个是用来抓小样本的,一个在web界面自动弹出浏览,一个在shell显示。都是在内存中加载的。而最后一个则适用于大规模处理。
重点(这是一个坑位)
到这一步是需要安装证书的。但是由于mitm并不能直接让系统走mitm的代理(这点和fiddler不一样,fiddler会自动配置开启系统代理),所以我们访问http://mitm.it安装证书的时候浏览器会出现下面的信息
这里我们有三种解决方案
1.配置系统代理为mitm的代理端口号。即在电脑网络设置中将代理设置为本地127.0.0.1的8080端口
2.二是只配置selenium的代理,selenium配置代理该用这个参数
options.add_argument("--proxy-server=127.0.0.1:8080")
这样就可以根据selenium来只抓selenium访问过的包了
3.另一种浏览器配置呢就是网上说的比较多的,只抓取电脑Chrome浏览器的包,这里需要下载一个插件Proxy SwitchyOmega,用来将浏览器的代理服务器设置成mitm的端口服务。Chrome商店连接https://chrome.google/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif
这里下载后添加一个代理配置,参数用上面的,改完后应用选项就行,而且重点都已经标好。可直接食用。
配置好后刷新一下,在插件的地方选择走这个代理即可。
这个时候就可以访问证书网站了
流量也就走mitm代理了
再次访问http://mitm.it/
现在再根据自己的需求安装对应的信任证书就可以啦。一步步往下走。安装完就可以直接如入无人之境地查看修改任意的流量响应了。
至于如何定制脚本做操作,网上教程挺多挺简单的的,自行了解。
最后,技术合理用就是一个好工具,不合理用可能就会对别人的隐私造成侵犯,还是需要有作为一名程序猿的自我修养的哈。
版权声明:本文标题:selenium+mitm mitm代理详细配置 跳坑必看 If you can see this, traffic is not passing through mitmproxy. 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1725805935a1044028.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论