我试图阻止我的服务器在端口 8001 上接收请求。我运行了sudo iptables -A INPUT -p tcp --dport 8001 -j DROP
,然后我运行netstat -nlp
以查看端口是否仍在监听。输出为:
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::7777 :::* LISTEN 1173/node
tcp6 0 0 :::10050 :::* LISTEN -
udp 0 0 0.0.0.0:39192 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
看来该端口仍处于打开状态并正在监听请求。我该如何关闭它?
答案1
我可能遭受了误解(如果是这样,人们会告诉我的!)
iptables
设置防火墙规则,并且您已将防火墙配置为不传递指向端口 8001 的项目
netstat
显示程序正在监听的端口
因此,您的防火墙不允许端口 8001 通过,但某个程序正在侦听该端口上的 ping。这里没有冲突 - 如果您希望程序不侦听该端口,请关闭该程序。
如果您对防火墙中启用的规则感兴趣,请查看iptables -L
或iptables -S