App爬虫神器mitmproxy和mitmdump的使用

mitmproxy是一个支持HTTP和HTTPS的抓包程序,有相似Fiddler、Charles的功能,只不过它是一个控制台的形式操做。
web

mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它咱们能够对接Python脚本,用Python实现监听后的处理。另外一个是mitmweb,它是一个Web程序,经过它咱们能够清楚观察mitmproxy捕获的请求。数据库

下面咱们来了解它们的用法。服务器

1、准备工做命令行

请确保已经正确安装好了mitmproxy,而且手机和PC处于同一个局域网下,同时配置好了mitmproxy的CA证书。代理

2、mitmproxy的功能cdn

mitmproxy有以下几项功能。
接口

d47e62d2b349aca45e42305ed6714efbe5ed61d9拦截HTTP和HTTPS请求和响应。
d47e62d2b349aca45e42305ed6714efbe5ed61d9保存HTTP会话并进行分析。
d47e62d2b349aca45e42305ed6714efbe5ed61d9模拟客户端发起请求,模拟服务端返回响应。
d47e62d2b349aca45e42305ed6714efbe5ed61d9利用反向代理将流量转发给指定的服务器。
d47e62d2b349aca45e42305ed6714efbe5ed61d9支持Mac和Linux上的透明代理。

d47e62d2b349aca45e42305ed6714efbe5ed61d9利用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以后咱们能够直接进行解析,而后存入数据库,这样就完成了数据的解析和存储过程。

点击查看原文

相关文章
相关标签/搜索