如何查看linux服务器端口号有没有被开启?

本文详细介绍了如何在Linux服务器上查看并管理端口开放状态。通过`firewall-cmd`命令可以添加、移除端口并使其永久生效,使用`firewall-cmd --query-port`检查端口是否开放。同时,`lsof`和`netstat`命令虽然能显示端口占用情况,但不能确认端口是否真正开放。防火墙的状态对于远程服务的连接至关重要,关闭防火墙或未开启相应端口可能会导致服务无法访问。

如何查看linux服务器端口号有没有被开启?

端口号的开启:
firewall-cmd --zone=public --add-port=8090/tcp --permanent
端口号的关闭:
firewall-cmd --zone=public --remove-port=8080/tcp --permanent 
可以替换端口号, --permanent 参数是永久生效,不随重启服务器而失效,
修改端口后需要
firewall-cmd --reload 
重新加载防火墙配置来生效。

重点来了:

firewall-cmd --query-port=8090/tcp
这一条命令可以查看防火墙有没有开放当前端口,返回yes是开启,no是未开启,若是返回FirewallD is not running则说明防火墙是关闭状态。
接下来我们做一个实验,根据网上的搜索结果,大多数都是用

lsof -i:端口号 或者netstat -anp |grep 端口号来查看,

这两个命令只能查看端口号当前有没有被占用,并不能看到有没有开放,比如你本地运行了一个mysql,3306被mysql占用,但是3306为开启,所以你用第三方连接工具还是连接不上mysql,因为端口并没有被开启。
[root@wangxin ~]# systemctl start firewalld
[root@wangxin ~]# lsof -i:8090
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    23815 root   14u  IPv6 1193483      0t0  TCP *:8090 (LISTEN)
[root@wangxin ~]# netstat -anp |grep 8090
tcp6       0      0 :::8090                 :::*                    LISTEN      23815/java
[root@wangxin ~]# firewall-cmd --query-port=8090/tcp
yes
[root@wangxin ~]#
上面的语句可以看到,我们打开了防火墙,分别用三条命令查看了端口的开放情况。
[root@wangxin ~]# firewall-cmd --zone=public --remove-port=8090/tcp --permanent
success
[root@wangxin ~]# firewall-cmd --reload
success
[root@wangxin ~]# lsof -i:8090
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    23815 root   14u  IPv6 1193483      0t0  TCP *:8090 (LISTEN)
[root@wangxin ~]# netstat -anp |grep 8090
tcp6       0      0 :::8090                 :::*                    LISTEN      23815/java
[root@wangxin ~]# firewall-cmd --query-port=8090/tcp
no
我关闭了8090端口,重新加载防火墙设置,发现用lsof 和netstat 仍旧可以查看当前端口号占用情况,但是不能查看是否开放,需要用第三条命令。
[root@wangxin ~]# systemctl stop firewalld
[root@wangxin ~]# firewall-cmd --query-port=8090/tcp
FirewallD is not running
[root@wangxin ~]# netstat -anp |grep 8090
tcp6       0      0 :::8090                 :::*                    LISTEN      23815/java
[root@wangxin ~]# lsof -i:8090
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    23815 root   14u  IPv6 1193483      0t0  TCP *:8090 (LISTEN)
最后我关闭了防火墙,可以看到命令显示防火墙没有被开启。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZXC006C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值