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