如何针对多个Web服务器捕获和回放HTTP Web请求?

我的总体目标是在捕获Web应用程序的HTTPpost的同时不中断生产系统,以便可以对来自封闭应用程序的遥测进行逆向工程。 我可以控制HTTP Posts的发送器,但不能控制接收的Web应用程序。

这似乎是我需要一个请求“分叉”代理。 对将请求推送到2个端点(即主站和从站)的逆向代理进行sorting,只将来自主端点的响应中继给请求者。 我不是一个服务器怪胎,所以这样的事情可能存在,但我不知道我所期待的艺术术语。

另一种可能是一个简单的日志代理。 捕获Web请求的日志。 重写日志以定位我的“从”Web应用程序。 用curl或其他东西播放日志。

谢谢您的帮助。

wireshark,ettercap,tcpdump和snort浮现在脑海。 几乎所有的libpcap应用程序都可以做到这一点。 您可以尝试freshmeat.net或sourceforge.net来查找数据包捕获应用程序。 我相信有人已经开发出一些能够让你做WWW重播/分析的东西。

如果你可以控制源,你甚至可以把一个路由器之间,让你捕捉stream量。 这就是中间人攻击的原理。

但是,在使用snort编写一些复杂的规则之前,我不确定如何轻松地获得所需的数据。 tcpdump可以为每个“事务”写入文件,但是,您仍然需要对结果文件进行一些解码。

任何解决scheme可能会有问题,如果POST机器使用https://

尝试burpsuite。 BurpSuite

免费版本将允许您代理请求/响应。 然后您可以修改和重播这些。 亲版本给你一些很好的扫描工具。

检查免费版本,看看它是否会为你工作。

另外三个选项:

浏览器插件:用于Chrome的Postman或用于Firefox的RESTClient ,允许您重播请求。

作为桌面应用程序,非常强大的是Fiddler for Windows,在Mono框架下也可用于Linux / Mac(alpha)。

在我工作的地方,我们最近使用Go编程语言做了很多工作,这个工具https://github.com/buger/gor看起来就像你正在寻找的东西。 它很容易使用,开源,几乎可以和任何东西玩。 然而,这只是众多解决scheme中的一个,如果您环顾四周,您可能会find更适合您的堆栈的东西。