如何阻止客户端监听服务器或客户端正在监听的端口

How to block client listening on a server or the port the client is listening to

有没有办法在linux(或以编程方式)中阻止端口上的消息?

假设我有一个服务器 'S' 和一个客户端 'C'。如果客户端在 post 12345 上发送消息,则 linux 命令会产生如下所示:

 lsof -i | grep 12345

 java     52148 john.doe   26w  IPv6 1041861063      0t0  TCP  localhost:53413->localhost:12345 (ESTABLISHED)
 java     52164 john.doe    5u  IPv6 1041861064      0t0  TCP localhost:11400->localhost:12345 (ESTABLISHED)
 java     52164 john.doe   46r  IPv6 1041860804      0t0  TCP localhost:12345 (LISTEN)

有没有办法阻止客户端向服务器发送消息?或者有没有办法阻止客户端向服务器发送消息的端口 (12345)?

控制对 TCP/IP 端口的访问是您的防火墙的职责。这是通过 Linux.

下的 iptables 完成的

例如,要停止与服务器的传入连接,请在作为 运行 服务器的计算机上使用以下命令。

/sbin/iptables -A INPUT -p tcp --destination-port 12345 -j DROP

要停止从服务器到客户端的传出连接,请使用

/sbin/iptables -A OUTPUT -p tcp --destination-port 12345 -j DROP

要在每个 IP 基础上执行此操作,请使用

/sbin/iptables -A OUTPUT -p tcp -d {ip_address} --dport 12345 -j DROP

哦,别忘了

/sbin/service iptables save

完成后。