有没有办法阻止 Linux 中端口上的消息(或以编程方式)?
假设我有一个服务器“S”和一个客户端“C”。如果客户端在 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 端口的访问是防火墙的责任。这是通过 iptables 完成的Linux 下。
例如,要停止与服务器的传入连接,请在运行服务器的计算机上使用以下命令。
/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
当你完成时。
关于java - 如何阻止客户端监听服务器或客户端正在监听的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771594/