首先,我是比较新的网络编程。我想拦截和延迟HTTP流量它获取到服务器应用程序之前。我钻研libnetfilter_queue这给我,我需要适当延迟的所有信息,但在过低的水平。我能延缓交通存在,但除非我几乎立即接受IP数据报(所以向他们发送了堆栈时,我不想耽误他们),他们将获得重发(当没有ACK到达时),这是不是我想要的。

我不想要或需要有处理TCP,只是它提供的有效载荷。所以我的问题是,我该怎么办截获流量的特定端口上到达目的地之前,但TCP已确认后,并检查了吗?

由于

编辑:但愿这是从标签和libnetfilter_queue明显 - 这是Linux

有帮助吗?

解决方案

劫持通过HTTP代理的连接。谷歌一个很好的方式,如果你不能只设置HTTP_PROXY在客户端上,或设置您的过滤器与当前服务器的IP地址和端口号上运行,移动真实服务器到另一个IP来做到这一点。

所以实际的TCP连接是在客户端和你之间,然后从你的服务器。然后,你不必应付的ACK,因为TCP总是能看到任务完成了。

编辑:我看到在原来的评论已经想出了使用iptables通过在同一台机器上的透明代理过程中对流量重定向这个想法

其他提示

嗯,我做了我在我的意见建议,和它的作品,即使没有感觉做这件事的长篇大论方式。

在(或一个)问题是,Web服务器现在,可以理解,认为每一个请求来自本地主机。真的,我想这种延迟是透明的,客户端和服务器(除了当然的时间!)。有什么我可以做这件事?

如果不是,有什么影响?每个HTTP会话发生通过不同的端口 - 是足以让他们完全分开,因为他们应该是什么?据推测,所以考虑到它的工作原理后面的NAT地址在哪里许多会话时相同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top