1 linxu系统中查询端口是否开放

1.1 方式1:使用lsof 查看指定端口号是否开放

lsof -i:端口号

如下,表示10010端口已开放,10011端口未开放。

[root@localhost ~]# lsof -i:10010
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    679 root   53u  IPv6  36351      0t0  TCP *:rxapi (LISTEN)
[root@localhost ~]# lsof -i:10011
[root@localhost ~]# 

1.2 方式2:使用netstat 查看端口号

查看系统中所有使用tcp协议开放的端口

netstat -ntpl

查看系统中所有使用udp协议开放的端口

netstat -nupl

2 防火墙

端口即使开放了,外界也不一定能够访问,需要查看下本机的防火墙配置

2.1 防火墙服务状态

#启动防火墙
systemctl start firewalld

#重启防火墙
systemctl restart firewalld

#停止防火墙
systemctl stop firewalld

#查看防火墙状态
systemctl status firewalld

#开机时启用防火墙
systemctl enable firewalld

#开机时禁用防火墙
systemctl disable firewalld

#查看是否开机启动
systemctl is-enabled firewalld

#查看开放端口列表
firewall-cmd --zone=public --list-ports

#刷新防火墙规则
firewall-cmd --reload

2.2 开放/禁止端口访问权限

#开放端口8080,协议类型tcp的访问权限
firewall-cmd --zone=public --add-port=8080/tcp --permanent

#关闭端口8080,协议类型tcp的访问权限
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

#开放或者关闭,需要刷新防火墙规则
firewall-cmd --reload

#查看开放的端口列表
firewall-cmd --zone=public --list-ports

3 远试端口是否能够访问

测试条件:使用window电脑连通linux设备网络进行测试。假如linux设备地址是192.168.0.100,并且windows电脑可以ping通。

3.1 ssh方式

windows上打开cmd。输入以下命令:

ssh -v root@192.168.0.100 -p <port>

3.2 telnet方式

windows上打开cmd。输入以下命令:

telnet <ip> <port>