代理工具 Mitmproxy (一)

你在用哪款 代理/抓包工具? 你可能会回答fiddler,charles 等HTTP/HTTPS抓包工具,或者是网卡级的 wireshark工具。

这里再推荐一款代理工具 mitmproxy ,前些天公司项目中有用到,这里做个简单的介绍。

mitmproxy 是一个免费开源的交互式HTTPS代理。

github地址:https://github.com/mitmproxy/mitmproxy/

安装

你可以下载客户端

https://mitmproxy.org/downloads/

mitmproxy 是基于Python 开发的库,也可以通过 pip安装。

pip install mitmproxy

使用

mitmproxy 提供了三个命令,启动模式不同:

mitmproxy -> 提供一个命令行界面(该命令不支持windows)。
mitmdump -> 提供一个简单的终端输出。
mitmweb -> 提供一个浏览器界面。

mitmdump

mitmdump是mitmproxy所提供的命令之一。它提供类似于tcpdump的功能,让您可以查看、记录和以编程方式转换HTTP流量。

声明:这个监听工具的使用有些绕弯,一般智商的人看不懂!坐好小板凳,认真看!

启动监听

> mitmdump -w d://log.txt
Proxy server listening at http://*:8080

该命令会占用本地8080端口,将监听的数据写入到 d://log.txt 文件中。

设置浏览器代理

你可以选择监听手机请求 或 本地的浏览器请求。我们以本地的浏览器请求为例。Windows用户请打开自带IE浏览器,设置代理。


如果看不懂,请自行百度 IE 如何设置局域网代理。注意,端口号一定要与 mitmproxy 监听的端口8080 保持一致。

支持HTTPS

现在大部分网站都使用的是HTTPS,此时你随便打开一个网站都会提示你。

所以,我们要换种方式启动浏览器,以chrome为例子,先关闭chrome浏览器,打开windows 终端(cmd),输入下面的命令

"C:Program Files (x86)GoogleChromeApplicationchrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors

"C:Program Files (x86)GoogleChromeApplicationchrome.exe" 是chrome浏览器的安装路径,请根据你的安装路径替换。

上面的命令会帮你打开浏览器,那么这次可以访问HTTPS的网站的,虽然,还是提示不安全。

查看监听信息

此时,mitmproxy 已经获取到监听信息了。

打开 d://log.txt 文件,也能看到写入的监听信息。

最后,费劲巴拉搞半天,这有什么用?fiddler/charles 不香吗? 别急!我们可以写python脚本过滤 监听的数据,我下周再介绍!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注