当前位置:首页 > Linux > 正文

Linux端口打开没?一键查看方法

在Linux中,查看端口是否打开的方法包括:,1. 使用 netstat -tuln | grep 检查监听状态。,2. 通过 ss -tuln | grep 快速查看(推荐)。,3. 用 lsof -i : 显示占用进程。,4. 测试连接: telnet nc -zv 。,5. 扫描工具: nmap -p

使用 netstat 命令(经典工具)

netstat 是传统网络工具,可查看所有活跃连接和监听端口。
操作步骤:

sudo netstat -tuln | grep <端口号>

参数解析:

  • -t:TCP 端口
  • -u:UDP 端口
  • -l:仅显示监听中的端口
  • -n:以数字形式显示端口(不解析服务名)

示例:
检查 80 端口是否监听:

sudo netstat -tuln | grep :80

输出说明:
若返回 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN,表示端口已打开。


使用 ss 命令(推荐替代方案)

ss(Socket Statistics)是 netstat 的现代替代品,速度更快、功能更全。
操作步骤:

sudo ss -tuln | grep <端口号>

参数同 netstat,输出格式更简洁。
示例:
检查 22 端口(SSH):

Linux端口打开没?一键查看方法  第1张

sudo ss -tuln | grep :22

使用 lsof 命令(查看进程占用)

lsof 可显示端口关联的进程,适合定位服务冲突。
操作步骤:

sudo lsof -i :<端口号>

示例:
检查 3306 端口(MySQL):

sudo lsof -i :3306

输出说明:
若返回进程信息(如 mysqld),则端口被占用。


使用 nmap 工具(网络扫描)

nmap 可扫描本地或远程主机端口状态,功能强大。
安装与使用:

sudo apt install nmap  # Debian/Ubuntu
sudo yum install nmap  # CentOS/RHEL
nmap -p <端口号> localhost  # 扫描本机

示例:
扫描本机 443 端口:

nmap -p 443 localhost

输出关键字段:

  • open:端口开放
  • closed:端口关闭但可访问
  • filtered:被防火墙拦截

使用 telnetnc(测试连通性)

Telnet(测试TCP端口)

telnet <目标IP> <端口号>

示例:
测试远程主机的 80 端口:

telnet 192.168.1.100 80

结果判断:

  • 连接成功 → 端口开放
  • Connection refused → 端口关闭
  • 超时无响应 → 防火墙拦截

Netcat(nc)(支持TCP/UDP)

nc -zv <目标IP> <端口号>  # TCP测试
nc -zuv <目标IP> <端口号> # UDP测试

参数说明:

  • -z:扫描模式
  • -v:显示详细信息
  • -u:UDP协议

检查防火墙状态

端口未打开可能是防火墙阻止,需检查以下配置:

iptables(传统防火墙)

sudo iptables -L -n | grep <端口号>

firewalld(现代防火墙)

sudo firewall-cmd --list-ports | grep <端口号>

若端口被拦截:
开放端口(以 firewalld 为例):

sudo firewall-cmd --add-port=<端口号>/tcp --permanent
sudo firewall-cmd --reload

端口状态排查流程图

graph TD
    A[端口是否打开?] --> B{使用 ss/netstat 检查监听状态}
    B -->|是| C[端口正常开放]
    B -->|否| D{使用 telnet/nc 测试连通性}
    D -->|连接成功| E[远端服务正常]
    D -->|连接失败| F{检查防火墙}
    F -->|防火墙放行| G[服务未运行或配置错误]
    F -->|防火墙拦截| H[需添加规则]

总结与建议

  1. 快速诊断:优先使用 ssnetstat 检查本地监听。
  2. 远程测试:用 telnet/nc 验证网络连通性。
  3. 深度分析nmap 扫描或 lsof 定位进程。
  4. 防火墙规则:始终检查 iptables/firewalld 配置。

安全提示

  • 避免在公共网络暴露敏感端口(如 MySQL 的 3306)。
  • 使用 nmap 扫描他人主机前需获得授权。
  • 生产环境修改防火墙前务必备份规则。

引用说明参考 Linux man 手册(man netstat/man ss/man nmap)及 Red Hat/CentOS 官方防火墙文档,确保方法权威可靠。

0