Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止Linux内核响应传入的TCP数据包?_Linux_Sockets_Tcp - Fatal编程技术网

如何防止Linux内核响应传入的TCP数据包?

如何防止Linux内核响应传入的TCP数据包?,linux,sockets,tcp,Linux,Sockets,Tcp,对于我的应用程序,我需要截获某些TCP/IP数据包,并通过自定义通信链路(而不是以太网)将它们路由到不同的设备。我需要所有的TCP控制包和完整的报头。我已经找到了如何通过socket(PF_-PACKET,SOCK_-raw,htons(ETH_-P_-IP))使用原始套接字获取这些信息的方法这工作得很好,允许我附加过滤器,以便只查看我感兴趣的TCP端口 然而,Linux也可以看到这些数据包。默认情况下,当它收到一个数据包到它不知道的TCP端口号时,它会发送一个RST。这不好,因为我计划稍后亲自

对于我的应用程序,我需要截获某些TCP/IP数据包,并通过自定义通信链路(而不是以太网)将它们路由到不同的设备。我需要所有的TCP控制包和完整的报头。我已经找到了如何通过
socket(PF_-PACKET,SOCK_-raw,htons(ETH_-P_-IP))使用原始套接字获取这些信息的方法这工作得很好,允许我附加过滤器,以便只查看我感兴趣的TCP端口


然而,Linux也可以看到这些数据包。默认情况下,当它收到一个数据包到它不知道的TCP端口号时,它会发送一个RST。这不好,因为我计划稍后亲自回复。如果我使用
socket(PF_INET,SOCK_STREAM,0)在同一端口上打开第二个“正常”套接字我也想做同样的事情。我的理由是从安全的角度来看……我想构造一个Tarpit应用程序。我打算将TCP流量从某些源IP转发到Tarpit。柏油坑必须接收ACK。它将使用自己的SYN/ACK进行回复。我不希望内核响应。因此,原始套接字将无法工作(因为提供的TCP数据包是T形的),我还需要实现一个转移套接字。到目前为止,我所知道的就这些了……还没有实现

不是回答,应该是评论