拦截**传出** HTTP(S) 流量

Posted

技术标签:

【中文标题】拦截**传出** HTTP(S) 流量【英文标题】:Intercept **Outgoing** HTTP(S) Traffic 【发布时间】:2021-08-17 19:50:06 【问题描述】:

使用 Charles 或 Telerik 的 Fiddler 之类的工具,您可以在家用 PC 上设置自己的代理服务器,以比例如更高级(但更易于阅读)的视图拦截传入和传出流量。线鲨。 有没有一种方法可以在不需要使用代理的情况下实际分析和/或拦截真正的传出流量?只是在流量被发送到网络之前以某种方式捕获所有流量?它不需要在位层上(普通的 HTTP 请求就可以了;))

问候

【问题讨论】:

为了在没有代理的情况下拦截 https 流量,您需要在数据在发送过程中被加密之前捕获数据。主要问题是程序可以使用几个 SSL/TLS 库。为了拦截流量,您需要编写一个不同的钩子来获取解密的数据。由于此类工具使用调试器的技术来修改正在运行的进程,因此此类工具通常称为 https 调试器。 【参考方案1】:

如果你提到 ios 应用,你可以通过Atlantis Framework + Proxyman app 来实现。

Atlantis 不会像 Charles、Fiddler 那样将您的流量代理到代理服务器,而是会在线捕获您的流量(通过使用 Method Swizzling 技术)并将其广播到 Proxyman 应用程序以进行预览。

【讨论】:

以上是关于拦截**传出** HTTP(S) 流量的主要内容,如果未能解决你的问题,请参考以下文章

kubernetes容器内的代理不会拦截任何HTTP流量

Spring Cloud Feign 拦截器

Angular - http 拦截器 - http 速率限制器 - 滑动窗口

用于拦截/修改 websockets UA 的 Chrome 扩展 API

使用 Fiddler 拦截 Boost.Asio HTTP/S 请求

nginx-lua流量采集及拦截