我如何删除或忽略“syn”数据包,以便在使用listen()函数的linux上的perl套接字编程中打开连接?

时间:2015-07-09 14:21:00

标签: linux perl sockets

我需要一种方法来忽略我的服务器的连接请求(例如syn req),该服务器使用perl套接字编程通过“listen()”函数进行侦听。

我意识到“listen()”会侦听套接字并对syn-ack的syn请求进行异议响应。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

因此,操作系统首先处理SYN数据包,这也是防火墙经常用于处理此问题的原因。你可能能够做一些涉及生成你自己的数据包的事情(我没有尝试过,所以我不打算推​​荐任何东西)并手动“处理”连接。 (你几乎肯定需要以特权用户身份运行才能这样做)。

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

我的意思是SYN是设置TCP / IP会话的三次握手的重要部分。如果您想要建立TCP / IP会话,那么为什么要首先打开一个端口?

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