Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux查询、端口是否开放

Linux系统查询、端口是否开放问题

作者:程序员毛毛~

文章介绍了在Linux系统中查询端口是否开放的方法,包括使用lsof和netstat命令查看端口状态,以及检查防火墙配置,同时,通过SSH和Telnet方式测试端口的可访问性

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>

如下代表linux设备的10010端口是开放的,并且可以访问:

如下代表linux设备的10011端口没有开放,不可以访问:

3.2 telnet方式

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

telnet <ip> <port>

如下代表linux设备的80端口已经开放,并且可以访问:

如下代表linux设备的443端口没有开放,不可以访问:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文