Mark24
抓包工具mitmproxy光速入门
一、什么是 mitmproxy
https://mitmproxy.org/ 中间人proxy 。一款优秀的Python写的中间人命令行工具,可以用它完成抓包。
二、快速入门
1.安装
Mac
brew install mitmproxy
三、常用场景– 查看请求与重写
- 启动 mitmproxy
命令行中输入
mitmweb
启动代理服务和web页面服务
代理服务器端口 默认 8080
web ui 端口默认 8081
打开浏览器 localhost:8081
即可查看 类似Charles的工作界面
- 代理设备
在电脑中查看本机IP,比如为 192.168.100.101
请把移动设备和电脑放在同一个局域网中,网络中选择代理-手动,指向 192.168.100.101:8080
- 安装证书
设备浏览器访问 http://mitm.it 根据页面指示下载对应的证书安装
4.过滤请求
在页面中,放大镜,是可以过滤请求 暂停符号,是用来阻塞一个请求 内部支持正则,和具体类型正则捕捉。
这里即暂停了一个请求。
我们对他可以进行编辑。
5.重点问题,Restful的OPTIONS
请求
Charles的问题在于无法处理OPTIONS
请求。
这里可以选中对应的 Request,点击Resume对 OPTIONS
请求放行
每个请求,有两次暂停,第一次是 Request请求过程,这里时候可以编辑请求。第二次是Response响应过程,可以编辑返回。这里我们点击两次Resume跳过OPTIONS请求。
(OPTIONS是 Restful API 标准中用来沟通鉴权、跨域问题的接口,由浏览器自动发出,这里我们跳过他们)
我们重点在于编辑一个请求的返回。 在新的GET请求出现的时候,我们第一次跳过 点击Resume, 第二次,接口中会出现 Response的Tab,我们对Tab进行编辑。点击编辑按钮。 然后可以选择上传或者粘贴JSON数据。 然后编辑完继续点击 Resume允许请求继续进行。 这样就完成了一次数据Map代理。
四、其他功能
本质上是一个Python的工具库,所以可以任意拓展。这里只列举最简单功能。