【发布时间】:2013-01-31 04:39:57
【问题描述】:
我想拦截/嗅探传入的 HTTP 请求并过滤/修改其内容(在它们到达应用程序之前)。
“提琴手”似乎有这个功能,但为了集成和可移植性,我宁愿有一些 Java/C 库来做到这一点。比如JPCAP。它拦截 IP 数据包,但如前所述,我需要拦截更高级别的 HTTP 请求。
此外,如何以相同的方式读取/修改 SSL 加密 (HTTPS) 请求?
提前致谢。
【问题讨论】:
-
这可能是有用的阅读 - stackoverflow.com/questions/2260710/…。
-
@Perception,看起来确实很有用。 JPCAP 中的实现绝对不是必需的。我是否应该研究一些 HTTP(S) - 代理/过滤器的直接示例?
-
您需要在此处确切地做什么?例如,过滤以丢弃“坏”HTTPRequest?需要修改哪些内容?
-
@Thomas - 如果没有具体要求,这真的很难说。您是否尝试过滤所有进入服务器的 HTTP 请求?一个域?进入应用服务器?还是在应用服务器上运行的应用?关键是你想要一个用 Java 编写的 HTTP 反向代理,但是拦截的级别将决定你可以监控什么样的流量,也决定了你将能够进行的过滤级别。
-
@Perception,我需要“读取”传入的 HTTP 请求并确定它是否可以传递给例如 WebService。这将涉及读取源和目标(IP、端口)以及请求的内容(SOAP、XML 文档)。所以基本上,检查恶意行为和内容。
标签: java http https filter sniffer