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

时间:2016-04-21 13:46:19

标签: java linux tcp tcp-ip

有没有办法阻止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)?

1 个答案:

答案 0 :(得分:4)

控制对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

当你完成。