Linux查看端口状态及关闭端口方法

在Linux上,检查端口状态并关闭端口。
只需执行以下操作:
检查端口状态: 1 . 使用netstat命令,例如在终端输入~$netstat -anp。
这可以指示哪些端口是开放的。
添加n参数,将程序名改为端口号和数字地址,方便匹配。
2 . 使用 lsof 命令并键入 ~$lsof :$PORT。
您可以看到哪个程序正在使用该端口。
3 . 查看/etc/services 文件。
您可以在那里找到该端口对应的服务。
4 .nmap命令,非常棒。
有些 netstat 不可见,请输入 ~$sudo nmap -sT localhost。
扫描本地端口,可靠。

关闭端口: 1 . 使用 iptables 禁用端口。
例如,要关闭某个 TCP 端口 $PORT,请键入 ~$sudo iptables -A INPUT -p tcp --dport $PORT -j DROP,然后键入 ~$sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP。
它只是被禁用了。
2 . 关闭相应的程序。
首先找到使用该端口的程序,例如输入~$netstat -anp | grep ssh 查找 ssh 进程号并记下 PID。
然后按~$kill -9 PID。
当程序关闭后,该端口自然消失。

请注意,关闭端口实际上会关闭进程或防火墙规则禁止通信。
直接说“关闭端口”而不关闭进程在Linux中并不常见。
这通常是通过禁用端口来实现的。

linux如何关闭某个端口

结论: 1 . 要在Linux上阻止端口,首选防火墙是iptables或firewalld。
2 . 使用netstat -anp 或lsof -i:端口号检查端口状态。
3 . iptables关闭TCP端口:iptables-AINPUT-ptcp-dport-jDROP。
4 . iptables关闭TCP输出端口:iptables-AOUTPUT-ptcp--port-number-jDROP。
5 . 关闭端口firewalld:firewall-cmd-zone public。
删除端口=端口号/tcp--永久。
6 . 保存 iptables 配置:保存服务。
7 . 要检查服务,请使用 netstat -anp|grep 端口号或 lsof -i:端口号。
8 .停止服务:systemctl stop service name 或kill-9 PID。
9 . 操作前请务必了解服务端口、正确防火墙规则、谨慎停止服务。

linux怎么看端口是否开放

说白了,确认Linux端口是否开放的方法只有两种:telnet和nc,极其简单。

先说最重要的,telnet。
去年我们跑那个项目的时候,我们发现运维的人一直用的就是这个。
例如,要检查8 4 4 3 (TomcatSSL的默认端口,必须与8 08 0的http分开查看),只需键入telnet 1 9 2 .1 9 2 .1 9 3 .2 1 1 8 4 4 3 如果看到“Connected to...”提示,则说明该端口已打开; 如果它显示“连接被拒绝”或根本没有响应,则必须关闭该端口。
说实话,这很令人困惑。
新手容易混淆“连接超时”和“连接被拒绝”。
前者是指网络延迟,后者是指端口没有直接响应。

还有一点是nc(netcat),它比telnet更快。
上次我们测试3 000级并发时,nc的效率要高很多。
使用命令 nc -z 1 9 2 .1 9 2 .1 9 3 .2 1 1 2 2 、如果端口打开,则命令执行后不会显示任何内容,只是一个空行; 如果端口被关闭,则直接报错。
还有另一个关键细节。
nc可以一次检查多个端口,如nc -z 1 9 2 .1 9 2 .1 9 3 .2 1 1 8 08 0 8 4 4 3 ,可以同时知道8 08 0和8 4 4 3 的状态,省事。

一开始我以为telnet和nc的工作原理是一样的,后来发现是错误的。
Telnet会建立完整的TCP连接,而nc则采用半连接扫描,效率较高,但可能会导致漏报。
等等,还有一件事。
如果端口打开但被防火墙阻止,则任何方法都看不到响应。
这时候就得用ss -tulnp | grep 8 4 4 3 查看进程监控。

建议先尝试nc。
效率高,支持批量检验。
但请注意,某些服务器可能配置了IP碎片攻击防护,导致nc命令检查某些端口而卡住。
在这种情况下,您必须尝试 telnet。