mitmproxy是一个支持HTTP和HTTPS的抓包程序,有相似Fiddler、Charles的功能,只不过它是一个控制台的形式操做。
web
mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它咱们能够对接Python脚本,用Python实现监听后的处理。另外一个是mitmweb,它是一个Web程序,经过它咱们能够清楚观察mitmproxy捕获的请求。数据库
下面咱们来了解它们的用法。服务器
1、准备工做命令行
请确保已经正确安装好了mitmproxy,而且手机和PC处于同一个局域网下,同时配置好了mitmproxy的CA证书。代理
2、mitmproxy的功能cdn
mitmproxy有以下几项功能。
接口
利用Python对HTTP请求和响应进行实时处理。get
3、抓包原理it
和Charles同样,mitmproxy运行于本身的PC上,mitmproxy会在PC的8080端口运行,而后开启一个代理服务,这个服务其实是一个HTTP/HTTPS的代理。
io
手机和PC在同一个局域网内,设置代理为mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就至关于起了中间人的做用,抓取到全部Request和Response,另外这个过程还能够对接mitmdump,抓取到的Request和Response的具体内容均可以直接用Python来处理,好比获得Response以后咱们能够直接进行解析,而后存入数据库,这样就完成了数据的解析和存储过程。