mitmproxy抓包工具
mitmproxy是一款支持SSL的HTTP代理,它可以用于调试HTTP通信,发起中间人攻击等。mitmproxy提供了一个控制台接口用于动态拦 截和编辑HTTP数据包。mitmdump是mitmproxy的命令行版本,功能与其相同。
OSX 安装
Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。 Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
# 安装pip
$ sudo easy_install pip
# 安装mitmproxy
$ pip install mitmproxy
# 启动mitmproxy,默认端口8080
$ mitmproxy -p port
安装过程比较长,等待
移动端抓包开始使用
手机和电脑连接同一个wifi,打开手机设置->无线局域网,点击当前连接的 wifi 进入详情设置页面,在 http 代理那一栏输入当前连接的 ip 地址,端口填8080,这个 ip 地址可以在电脑上的系统偏好->网络里查看,配置完成如下图
网络环境配置完成后我们可以开始实际的抓包了,只需在电脑上打开终端(命令行操作窗口),然后输入 mitmproxy -p 8080,如果你看到如下页面说明你已成功进入抓包模式
pc端抓包
这里主要讲的是配合SwitchyOmega谷歌插件来使用mimtproxy代理抓包。
首先,先下载一个谷歌插件SwitchyOmega,然后进入配置选项,新建一个情景模式,取名就叫mimtproxy吧,如下图:
mimtproxy默认开启的是http模式,当然他也可以抓取其他模式比如https的包,这里就拿http来说,将代理协议设置为http,代理服务器为127.0.0.1,端口为mimtproxy设置的端口比如8080.然后就可以将想要进行抓包的网页开启该代理,如下图:
就可以看到类似上面那张抓包信息了!
参数设置
mimtproxy功能强大,可以在请求列表界面按 ?
来查看具体帮助,这里举一个拦截功能的例子,在请求列表界面按住 i
就会在左下角出现如下图所示,输入~u \.js
表示拦截所以的js文件:
然后刷新需要抓包的网页,就可以发现所以的js文件都是红色的了
请求被拦截后,可以进入到该请求的详细信息界面,然后按 e,对请求进入编辑,编辑完成后按 ESC 退出编辑界面。按 a 放行该请求(也可以按大写的 A来放行所有被拦截的请求),请求被放行后,Server 收到的将是被编辑过的 Request。
当 Server 的 Response 返回到 mitmproxy 时,将再次被拦截,此时在详细信息界面按 e 可以对 Response 进行编辑,编辑完成后,同样按 ESC 退出编辑,同样按 a 或 A 放行 Response,客户端收到的 Response 将是被编辑过的 Response。
[*注:该文章部分来源 此文章]