大家好,我是D哥
点击关注下方公众号,Java面试资料 都在这里
来源:开源前线
你是否会对应用程序正在发出的请求感到好奇,以及它会返回什么响应,你是否曾经捕获过流量用它来研究某些东西是如何工作的,如果你有,那么mitmproxy这个工具你应该会很喜欢。
mitmproxy是一个支持 HTTP 和 HTTPS 的抓包程序,有类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。MitmProxy具有以下特点:
  • 不需要安装软件,直接在线(浏览器)进行抓包(包括手机端和 PC 端)
  • 配合 Python 脚本抓包改包
  • 抓包过程的所有数据包都可以自动保留到txt里面,方便过滤分析
  • 使用相对简单,易上手
在 Mac 上,mitmproxy 很容易用 brew 安装:
brew install mitmproxy

在 Windows 和 Linux 上,下载二进制版本并将其放在路径中的某个位置。
1 启动它
要启动 mitmproxy,需要输入mitmproxy,它将启动绑定到端口 8080。
>mitmproxy

命令行界面 (CLI) 具有类似 VIM 的键绑定。q将退出,方向键或h,j,k,l你会向上移动,并通过请求列表下来。?将加载帮助,<<enter>>并将深入研究特定请求。
如果你更喜欢鼠标而不是 Vim 快捷键,mitmproxy 也有一个 Web 界面。高级功能在Web界面中更容易发现,但CLI版本便于快速捕获会话。
2、连接代理
让我们设置 Internet 连接以使用此代理。在macOS下,在Setting -> Network下。
在代理下,启用 HTTP 和 HTTPS 代理并选择端口 8080:
如果我们尝试在 Web 浏览器中发出基于 HTTPS 的请求(例如加载 twitter.com),就会发生一些有趣的事情。
什么是中间人攻击?
中间人攻击 (MITM) 是一种安全威胁,攻击者可以在传入和传出请求之间进行攻击。你认为你是在和 Twitter.com 对话,但你是在和中间的那个人说话,他在为你和 Twitter 说话。此 MITM 可以查看您发送的所有内容,甚至可以更改你接收的内容。
HTTPS 协议可防止 MITM 攻击。HTTPS 协议非常复杂,但我们需要知道的是 HTTPS 使用受信任的证书颁发机构 (CA) 来签署证书。
你可以在浏览器中查看你正在查看的网站的证书是由哪个 CA 签署的。
这对于保护在线通信非常有用,但对于我们的调试目的来说却是个问题。
mitmproxy 生成了一个证书。我们所需要的只是让我们的机器信任它。
mitmproxy 在您第一次运行时生成了证书和私钥。在 ~/.mitmproxy/mitmproxy-ca-cert.cer 里面。
目前,mitmproxy 已经在Github上标星 24K,累计分支 3K(Github地址:https://github.com/mitmproxy/mitmproxy)
技术交流群
最后,D哥也建了一个技术群,主要探讨一些新的技术和开源项目值不值得去研究及IDEA使用的“骚操作”,有兴趣入群的同学,可长按扫描下方二维码,一定要备注:城市+昵称+技术方向,根据格式备注,可更快被通过且邀请进群。
▲长按扫描
热门推荐:
继续阅读
阅读原文