代码改变世界

mitmproxy

2021-07-02 11:25  Tanwheey  阅读(320)  评论(0编辑  收藏  举报

mitmproxy的功能:

1  拦截HTTP和HTTPS请求和响应。

2  保存HTTP会话并进行分析。

3  模拟客户端发起请求,模拟服务端返回响应。

4  利用反向代理将流量转发给指定的服务器。

5  支持Mac和Linux上的透明代理。

6  利用Python对HTTP请求和响应进行实时处理。

抓包原理:

mitmproxy运行于自己的PC上,mitmproxy会在PC的8080端口运行,然后开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。

手机和PC在同一个局域网内,设置代理为mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起了中间人的作用,抓取到所有Request和Response,另外这个过程还可以对接mitmdump,抓取到的Request和Response的具体内容都可以直接用Python来处理,比如得到Response之后我们可以直接进行解析,然后存入数据库,这样就完成了数据的解析和存储过程。

将手机和PC连接在同一局域网下,设置代理为当前代理。首先看看PC的当前局域网IP。

Windows上的命令如下所示:

ipconfig

Linux和Mac上的命令如下所示:

ifconfig