gpt4 book ai didi

java - 在 linux 上拦截 HTTP 请求

转载 作者:IT王子 更新时间:2023-10-29 00:53:02 26 4
gpt4 key购买 nike

我需要一些可以拦截 HTTP 请求、提取其信息(内容、目的地等)、执行各种分析任务并最终确定是否应丢弃请求的东西。然后必须将法律请求转发给应用程序。

基本上,与 IDS 具有相同的功能。但是请注意,我不是在寻找数据包嗅探器/过滤器。我想要在 HTTP 级别上运行的东西。

它应该可以在 linux 上实现,并在与请求所指向的应用程序相同的系统上运行。

作为奖励,可以支持 https(请求内容的未加密查看)

最佳答案

尝试 mitmproxy .

  • mitmproxy 是一个支持 SSL 的 HTTP 中间人代理。它提供了一个控制台界面,允许即时检查和编辑流量。

  • mitmdump 是 mitmproxy 的命令行版本,具有相同的功能但没有用户界面。想想 HTTP 的 tcpdump。

特点

  • 拦截 HTTP 请求和响应并即时修改它们。
  • 保存完整的 HTTP 对话以供以后回放和分析。
  • 重播 HTTP 对话的客户端。
  • 重播先前记录的服务器的 HTTP 响应。
  • 反向代理模式将流量转发到指定的服务器。
  • 使用 Python 对 HTTP 流量进行脚本化更改。
  • 即时生成用于拦截的 SSL 证书。

截图

enter image description here

例子

我设置了一个例子 Jekyll Bootstrap在我的本地主机上监听端口 4000 的应用程序。要拦截它的流量,我会执行以下操作:

% mitmproxy --mode reverse:http://localhost:4000 -p 4001

然后从我的网络浏览器 (http://localhost:4001) 连接到端口 4001 上的 mitmproxy,在 mitmproxy 中产生这个:

ss of mitmproxy w/ JB #1

然后您可以选择任何 GET 结果以查看与该 GET 关联的 header 信息:

ss of mitmproxy w/ JB #2

关于java - 在 linux 上拦截 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com