Linux查端口一招搞定

使用netstat -tuln查看监听端口,ss -tuln更高效替代netstat,lsof -i :端口号查特定端口占用进程,sudo lsof -i显示所有网络连接。

在 Linux 中查询端口的专业方法详解

掌握端口查询是 Linux 系统管理和网络故障排查的核心技能,以下详细解析四种专业方法,附具体操作示例:

Linux查端口一招搞定

🔍 方法一:使用 ss 命令(推荐工具)

作为 netstat 的现代替代品,ss 直接从内核空间获取信息,效率更高:

# 查看所有监听端口(-l)和已建立连接(-t TCP/-u UDP)
sudo ss -tuln
# 示例输出解读
LISTEN 0    128    0.0.0.0:22      0.0.0.0:* 
→ 22端口监听所有IP(0.0.0.0表示任意接口)
# 查询特定端口(如3306)
ss -tunlp | grep ':3306'

📡 方法二:使用 netstat 命令(传统工具)

虽然逐渐被取代,但仍是广泛兼容的选择:

# 查看所有TCP/UDP监听端口
sudo netstat -tuln
# 显示进程名和PID(需sudo权限)
sudo netstat -tulnp
# 查询80端口占用情况
sudo netstat -tulnp | grep ':80'

🛠️ 方法三:使用 lsof 命令(进程级分析)

直接关联端口与进程,适合深度诊断:

Linux查端口一招搞定

# 查看所有网络监听
sudo lsof -i -P -n | grep LISTEN
# 查询特定端口(如443)
sudo lsof -i :443
# 输出示例
nginx   1234  root    9u  IPv4 0xabcd  0t0  TCP *:443 (LISTEN)
→ Nginx进程(1234)监听443端口

🌐 方法四:使用 nmap 扫描(远程端口探测)

检查远程主机或本机开放端口:

# 安装nmap
sudo apt install nmap  # Debian/Ubuntu
sudo yum install nmap  # CentOS/RHEL
# 扫描本机端口
nmap -sT -p 1-1000 127.0.0.1
# 扫描远程主机Web端口
nmap -p 80,443 target_ip

🚦 端口状态解读

  • LISTEN:服务正在监听连接
  • ESTABLISHED:活跃数据连接
  • TIME_WAIT:连接正常关闭中
  • CLOSE_WAIT:远程端已关闭,本地未释放

⚠️ 关键注意事项

  1. 查询监听端口LISTEN 状态,已建立连接显示为 ESTABLISHED
  2. 普通用户可能无法查看系统级端口,建议配合 sudo
  3. 使用 -p 参数时,ss/netstat 会解析服务名(如22→ssh),加 -n 可禁用解析提升速度
  4. 临时端口范围(32768-60999)通常由客户端使用,无需特别关注

安全提示:避免在公共服务器执行高危扫描操作,生产环境中建议通过 iptablesfirewalld 管理端口访问权限,仅开放必要服务端口。


引用说明基于 Linux 内核文档(kernel.org)及以下权威资源:

Linux查端口一招搞定

  1. ss 官方手册页(man7.org/linux/man-pages/man8/ss.8.html)
  2. Red Hat 系统管理员指南(access.redhat.com/documentation)
  3. Nmap 官方网络扫描指南(nmap.org/book/man-port-scanning.html)
  4. Linux 网络栈深度解析(《Linux Kernel Networking》著作)

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/14541.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月7日 22:20
下一篇 2025年6月7日 22:34

相关推荐

  • Linux如何快速安装Oracle?

    在Linux系统上使用Oracle数据库需先下载安装包,配置内核参数与用户环境,运行安装程序创建数据库实例并启动监听器,随后可通过SQL*Plus、SQL Developer等工具连接数据库进行SQL操作及基本管理。

    2025年6月2日
    2200
  • Linux如何运行exe文件

    Linux无法直接运行exe文件,主要方法有:,1. 使用Wine(兼容层)模拟Windows环境运行。,2. 在虚拟机(如VirtualBox)里安装完整Windows系统运行。,3. 双系统启动进入Windows运行。,根据需求选择合适方式。

    2025年6月17日
    6700
  • linux下如何查询数据库密码

    Linux系统无法直接查看现网数据库密码,若需获取,请通过授权管理界面修改/重置密码,或检查应用配置文件

    2025年8月16日
    2400
  • Linux串口通信如何编译?

    安装GCC编译器后,编写C代码保存为.c文件,使用终端执行gcc 文件名.c -o 输出名命令编译,成功生成可执行文件后运行./输出名即可执行程序。

    2025年7月7日
    1100
  • linux 如何访问mysql数据库

    Linux上访问MySQL数据库,需先安装客户端工具,如Debian/Ubuntu用sudo apt-get install mysql-client,CentOS/RHEL用sudo yum install mysql,再通过mysql -u用户名 -p -h主机名 -P端口号命令连接

    2025年7月8日
    1200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN