如何丢弃或忽略"syn"数据包以在使用 listen() 函数的 linux 上的 perl 套接字编程中打开连接?



我需要一种方法来忽略连接请求(例如syn req)为我的服务器监听通过"listen()"函数使用perl套接字编程。

我意识到"listen()"监听套接字并立即响应syn请求。

对请求的syn-ack响应延迟也是可计数的。

谢谢!

我认为这并不像您想象的那么容易,因为listen()函数工作在比TCP/IP数据包流更高的级别。它打开一个套接字,告诉操作系统接受传入的连接。

因此,操作系统首先处理SYN数据包,这就是为什么防火墙经常被用来处理这个问题。您可能能够做一些涉及生成自己的数据包的事情(我还没有尝试过,所以我不打算推荐任何方法)并手动"处理"连接。(您几乎肯定也需要以特权用户身份操作才能做到这一点)。

但是我不得不问——你为什么要这样做?

我的意思是SYN是建立TCP/IP会话的3次握手的重要组成部分。如果您不希望建立TCP/IP会话,那么为什么首先要打开端口?

我建议,如果它是为了过滤传入的流量,那么这项工作的工具是像iptables这样的防火墙。

最新更新