一、介绍说明
在蒲江县等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计 网站设计制作按需网站设计,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,成都外贸网站建设,蒲江县网站建设费用合理。mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。
mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。
mitmproxy的功能:
1、拦截HTTP和HTTPS请求和响应
2、保存HTTP会话并进行分析
3、模拟客户端发起请求,模拟服务器端返回响应
4、利用反向代理将流量转发给指定的服务器
5、支持Mac和linux上的透明代理
6、利用Python对HTTP请求与响应进行实时处理
mitmproxy运行与自己的PC上,在PC的8080端口运行,然后开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。
手机和PC在一个局域网内,设置代理是mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起了中间人的作用,抓取到所有request和response,另外这个过程还可以对接mitmproxy,抓取到的request和response的具体内容都可以直接用python来处理,比如:得到response之后我们可以直接进行解析,然后存入数据库,这样就完成了数据的解析和存储过程。
二、安装以及配置
pip install mitmproxy
如果安装失败报错timeout,那就多试几遍或者加上参数--timeout秒数
pip --timeout 10000 install mitmproxy
注意 :在 Windows 上不支持 mitmproxy 的控制台接口,但是可以使用 mitmdump和mitmweb。
这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。
mitmproxy命令启动后,会提供一个命令行界面,用户可以实时看到发生的请求,并通过命令过滤请求,查看请求数据。
mitmweb命令启动后,会提供一个 web 界面,用户可以实时看到发生的请求,并通过 GUI 交互来过滤请求,查看请求数据。
mitmdump命令启动后,没有界面,程序默默运行,所以 mitmdump 无法提供过滤请求、查看数据的功能,只能结合自定义脚本,默默工作。
证书配置
运行mitmdump命令产生CA证书,并在用户目录下的.mitmproxy 目录里面找到CA证书,如下图所示。
在windows平台下安装证书
点击mitmproxy-ca.p12,就会出现导入证书的引导页,如下图所示:
接下来需要选择证书的存储区域,如下图所示。
这里点击第二个选项“将所有的证书都放入下列存储”,然后点击“浏览”按钮,选择证书存储位置为 受信任的根证书颁发机构”,接着点击“确定”按钮,然后点击“下一步”按钮。
最后,如果有安全警告弹出,直接点击“是”按钮即可。这样就完成了CA证书的配置了。
在Android平台下安装证书
在Android手机上,需要将mitmproxy-ca-cert.pem文件发送到手机上,接下来点击证书会出现一个提示窗口。
如果手机不能识别.pem文件,那就将.cer文件复制到手机,然后点击安装证书。
这时候输入证书名称,例如:mitmproxy,然后点击确定则完成了安装。
安卓手机还有一种方法安装证书
命令行输入ipconfig查看本机IP,并输入mitmweb启动mitmproxy
可以看到
Web server listening at http://127.0.0.1:8081/ Proxy server listening at http://*:8080