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

Linux查看端口号命令有哪些

Linux查看端口号常用命令:,1. ss -tuln 查看监听端口(推荐),2. netstat -tulnp 查看监听端口及进程,3. lsof -i 查看所有网络连接,4. sudo lsof -i :端口号 查指定端口进程,需root权限查看全部信息。

Linux查看端口号的详细指南

在Linux系统中,端口号是网络通信的关键标识,用于区分不同服务或应用程序,无论是排查网络问题、监控服务状态还是加固系统安全,掌握查看端口号的方法都至关重要,以下是几种常用且可靠的命令工具,每种方法均经过验证并适用于主流Linux发行版(如Ubuntu、CentOS、Debian等)。


使用 netstat 命令(经典工具)

netstat 是传统的网络统计工具,可查看端口监听状态和连接信息。

安装与使用

# 若未安装,先执行(基于发行版): sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL # 查看所有监听端口(-l)和关联进程(-p): sudo netstat -tulnp

输出示例

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd tcp6 0 0 :::80 :::* LISTEN 5678/nginx

参数解析

  • -t:仅显示TCP端口
  • -u:仅显示UDP端口
  • -l:列出监听状态(LISTEN)的端口
  • -n:以数字形式显示端口(不解析服务名)
  • -p:显示占用端口的进程信息(需sudo权限)


使用 ss 命令(推荐,更高效)

ss(Socket Statistics)是netstat的现代替代品,速度更快且功能丰富。

基础命令

Linux查看端口号命令有哪些 第1张

输出示例

Netid State Local Address:Port Peer Address:Port Process tcp LISTEN 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) tcp LISTEN :::80 :::* users:(("nginx",pid=5678,fd=6))

进阶用法

  • 检查特定端口(如443):sudo ss -tun sport = :443
  • 查看所有已建立连接:ss -t state established


使用 lsof 命令(精准定位进程)

lsof(List Open Files)通过文件描述符查看端口占用,适合定位进程。

安装与使用

# 安装lsof: sudo apt install lsof # Debian/Ubuntu sudo yum install lsof # CentOS/RHEL # 查看所有监听端口: sudo lsof -i -P -n | grep LISTEN

输出示例

Linux查看端口号命令有哪些 第2张

参数解析

  • -i:显示网络连接
  • -P:禁止端口名解析(显示数字端口)
  • -n:禁止主机名解析(显示IP地址)


使用 nmap 扫描端口(检测开放端口)

nmap 是网络扫描工具,适合检查本机或远程主机的开放端口。

安装与扫描本机

# 安装nmap: sudo apt install nmap # Debian/Ubuntu sudo yum install nmap # CentOS/RHEL # 扫描本机所有端口(需root权限): sudo nmap -sT -p- 127.0.0.1

输出示例

PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https

常用参数

  • -sT:TCP连接扫描
  • -p-:扫描所有端口(1-65535)
  • 扫描特定端口:nmap -p 22,80,443 localhost


通过 /proc 文件系统(底层查看)

Linux内核通过/proc暴露端口信息,适合脚本调用:

# 查看TCP/UDP端口占用: cat /proc/net/tcp # TCP端口(十六进制) cat /proc/net/udp # UDP端口 # 解析十六进制端口(如22→0x0016→22): echo "ibase=16; 0016" | bc


关键注意事项

  1. 权限要求

    • netstat、ss、lsof 查看进程信息需 sudo 权限。
    • 普通用户可运行 ss -tuln 或 netstat -tuln(不显示进程名)。
  2. 安全实践

    • 关闭无用端口以减少攻破面,如使用 firewall-cmd 或 ufw。
    • 定期检查异常连接:ss -antp | grep ESTAB。
  3. 工具选择建议

    | 场景 | 推荐工具 |

    |———————|—————|

    | 快速查看监听端口 | ss |

    | 定位进程占用 | lsof |

    | 全端口扫描 | nmap |

    | 兼容旧系统 | netstat |


  • 日常监控推荐 ss -tulnp,高效且无需额外安装。
  • 调试进程关联首选 lsof -i -P -n。
  • 全面扫描使用 nmap,但需注意网络扫描的合法性。

    掌握这些方法,可轻松应对端口监控、故障排查及安全审计需求。


引用说明: 基于 Linux 官方文档(man7.org)及以下工具手册:

  1. ss 命令手册:man ss
  2. netstat 指南:man netstat
  3. Nmap 官方文档:nmap.org/book/man.html
  4. Linux 网络管理权威参考:《Linux Network Administrator’s Guide》(O’Reilly)

Linux查看端口号命令有哪些 第3张

0