我的总体目标是在捕获 HTTP Posts 到 Web 应用程序时不中断生产系统,以便我可以对来自已关闭应用程序的遥测数据进行逆向工程。我可以控制 HTTP Posts 的发送方,但不能控制接收方 Web 应用程序。
看来我需要一个请求“分叉”代理。这是一种反向代理,它将请求推送到两个端点,一个主端点和一个从端点,只将主端点的响应转发回请求者。我不是服务器极客,所以可能存在类似的东西,但我不知道我正在寻找什么的专业术语。
另一种可能性是一个简单的日志代理。捕获 Web 请求的日志。重写日志以定位我的“从属”Web 应用程序。使用 curl 或其他工具回放日志。
谢谢您的帮助。
答案1
想到了 wireshark、ettercap、tcpdump 和 snort。几乎任何 libpcap 应用程序都可以做到这一点。您可以尝试 freshmeat.net 或 sourceforge.net 来寻找数据包捕获应用程序。我相信有人开发了一些东西可以让您进行 WWW 重放/分析。
如果你能控制源头,你甚至可以在中间放置一个路由器,这样你就可以捕获流量。这就是中间人攻击的工作原理。
但是,如果不使用 snort 编写一些复杂的规则,我不确定您能多么轻松地获取所需的数据。tcpdump 可以将每个“事务”写入文件,但是,您仍然需要对生成的文件进行一些解码。
如果 POST 机器使用 https://,任何解决方案都可能会有问题
答案2
答案3
答案4
如果您想从浏览器重新发送/回放捕获的请求,则需要在浏览器中进入 Web 开发人员模式并查看网络请求。然后右键单击感兴趣的请求,在大多数现代浏览器中,都有一个选项复制为 cURL之后,您可以将生成的命令粘贴到终端中,并根据需要使用该curl
工具重新运行捕获的命令。某些浏览器(例如 Mozilla)还提供在浏览器内编辑和重新发送的选项。