我有一些作为黑盒子运行的软件,我无法访问它。该软件发出HTTP请求。我想要做的是拦截这些请求,转发它们,捕获响应,对它做些什么,然后再将响应传回软件。
可以这样做吗?什么是最好的方法?
由于
编辑:请求通过网关/路由器从本地Intranet到公共互联网。我有权访问我的机器。另一台机器可以用作中间网关。
编辑2 :请求未加密。我实际上要做的是保存所请求的任何图像。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果通讯未加密,请使用Ethereal(或任何其他类似程序)嗅探线路上的通信。
编辑:由于通讯未加密,您可以使用Ethereal轻松完成。您可以独立保存每个TCP流。
Edit2:好的,你想自动完成这项工作。在这种情况下,我建议您查看Linux上可用的两个工具,称为tcpflow和tcpreen。
tcpreen创建一个类似于本地端口和远程端口之间的代理。它是一个TCP代理,而不是HTTP代理,因此这意味着您必须编写一些解析工具来隔离包含所需图像的HTTP流(可能基于响应的MIME类型)。但是,如果您了解HTTP的工作方式,那么任务并不是太复杂。
tcpflow类似于tcpreen,除了它是嗅探器而不是代理。使用您认为更适合您环境的任何工具。