首先,我是网络编程的新手.我想在HTTP流量到达服务器应用程序之前对其进行拦截和延迟.我已经深入研究libnetfilter_queue,它为我提供了需要适当延迟的所有信息,但是级别太低.我可以在那儿延迟通信,但是除非我几乎立即接受IP数据报(以便在我想延迟它们时将它们发送到堆栈中),否则它们将被重新发送(当没有ACK到达时),这不是我想要的.
我不想或不需要处理TCP,只需处理它提供的有效负载即可.因此,我的问题是,如何在特定端口到达目的地之前,但在TCP确认并检查之后,拦截该端口上的流量?
谢谢
编辑:希望从标记和libnetfilter_queue中显而易见-这是针对Linux的
解决方法:
通过HTTP代理劫持连接.如果您不能只在客户端上设置HTTP_PROXY,或者不能设置使用当前服务器的IP和端口号运行的过滤器,然后将真实服务器移至另一个IP,则Google提供了一种很好的方法.
因此,实际的TCP连接是在客户端和您之间,然后是从您到服务器之间.这样,您就不必处理ACK,因为TCP总是可以看到任务已完成.
编辑:我看到关于原始意见已经使用iptables通过同一台机器上的透明代理进程重定向流量了.
标签:sockets,intercept,linux 来源: https://codeday.me/bug/20191210/2101393.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。