拦截和过滤 HTTP 请求

Tho*_*mas 4 java https http filter sniffer

我想拦截/嗅探传入的 HTTP 请求并过滤/修改它们的内容(在它们到达应用程序之前)。

“Fiddler”似乎有这个功能,但为了集成和可移植性,我宁愿有一些 Java/C 库来做到这一点。例如 JPCAP。它拦截 IP 数据包,但是,如上所述,我需要拦截 - 更高级别的 HTTP 请求。

此外,如何以相同的方式读取/修改 SSL 加密 (HTTPS) 请求?

提前致谢。

And*_*ock 5

您是否尝试过Servlet 过滤器

它们包装 HTTP 请求,因此可以在请求到达 servlet 之前修改请求,也可以修改响应。它们可以(并且已经)用于包装第三方 servlet 和 JSP。

因为它们位于 servlet 容器中,所以您可以安全、未加密地访问请求和响应。

  • 啊,我从问题中的“java”标签猜测您正在尝试探测 Java 服务器的 HTTPRequest,因此 servlet 可以正常工作。为了回答您的问题,Servlet 是处理 HTTP 请求的 Java 类,并驻留在 Web 应用程序容器(例如 Tomcat、WebSphere、Weblogic 等)中。但是,可以将过滤器添加到“现有”Web 应用程序容器,而无需对现有应用程序进行任何代码修改。 (2认同)