在 Linux 系统中,有多种方法可以检查端口是否开放。以下是几种常用的方法:
netstat 命令netstat -tuln | grep <端口号>
或
netstat -tuln | grep LISTEN
选项说明:
- -t:显示 TCP 端口
- -u:显示 UDP 端口
- -l:仅显示监听端口
- -n:以数字形式显示地址和端口号
ss 命令(推荐,比 netstat 更快)ss -tuln | grep <端口号>
或
ss -tuln | grep LISTEN
lsof 命令lsof -i :<端口号>
nmap 工具(需要安装)nmap -p <端口号> localhost
安装 nmap:
# Debian/Ubuntu
sudo apt install nmap
# CentOS/RHEL
sudo yum install nmap
telnet 测试远程端口telnet <IP地址> <端口号>
如果端口开放,会显示连接成功;如果关闭,会显示连接失败。
nc (netcat) 测试端口nc -zv <IP地址> <端口号>
选项说明:
- -z:只扫描监听进程,不发送数据
- -v:显示详细信息
curl 测试 HTTP/HTTPS 端口curl -v http://<IP地址>:<端口号>
curl -v https://<IP地址>:<端口号>
# iptables
sudo iptables -L -n
# firewalld (CentOS/RHEL)
sudo firewall-cmd --list-all
# ufw (Ubuntu)
sudo ufw status
选择哪种方法取决于你的具体需求和系统环境。对于本地端口检查,ss 或 netstat 通常是最快捷的方式;对于远程端口检查,telnet、nc 或 nmap 更为适用。