代码改变世界

代理工具 Mitmproxy (一)

2020-07-31 00:28  虫师  阅读(17815)  评论(2编辑  收藏  举报

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

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

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

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

安装

  1. 你可以下载客户端

https://mitmproxy.org/downloads/

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

使用

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

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

mitmdump

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

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

  1. 启动监听
> mitmdump -w d://log.txt
Proxy server listening at http://*:8080

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

  1. 设置浏览器代理

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


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

  1. 支持HTTPS

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

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

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors

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

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

  1. 查看监听信息

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

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

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

Web Page Counters
Computer Desks