Linux监听端口查询教程

Linux查看监听端口常用命令: ,1. netstat -tuln ,2. ss -tuln ,需root权限时加sudo。 ,执行后查看”LISTEN”状态的端口及对应服务,快速掌握系统开放端口情况。

使用 netstat 命令(经典工具)

netstat 是传统网络工具,可查看所有网络连接和监听端口:

Linux监听端口查询教程

netstat -tuln
  • 参数解析
    • -t:显示 TCP 端口
    • -u:显示 UDP 端口
    • -l:仅列出监听端口
    • -n:以数字形式显示地址和端口(不解析域名)
  • 输出示例
    Proto Recv-Q Send-Q Local Address  Foreign Address  State
    tcp        0      0 0.0.0.0:22     0.0.0.0:*        LISTEN

    表示 SSH 服务(端口 22)正在监听所有 IP。

适用场景:兼容性高,适合旧版 Linux(部分新系统需安装 net-tools 包)。


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

ss(Socket Statistics)是 netstat 的现代替代品,速度更快:

ss -tuln
  • 参数与 netstat 一致,输出更简洁:
    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
    tcp   LISTEN 0      128     0.0.0.0:22        0.0.0.0:*
  • 高级过滤(例如查看监听 80 端口的进程):
    ss -tln sport = :80

优势:直接读取内核数据,效率更高,适合新系统(CentOS 7+/Ubuntu 16.04+)。


使用 lsof 命令(查看进程关联)

lsof 列出被进程打开的文件(包括网络端口):

Linux监听端口查询教程

lsof -i -P -n | grep LISTEN
  • 参数解析
    • -i:显示网络连接
    • -P:禁用端口别名(显示数字端口)
    • -n:禁用域名解析
  • 输出示例
    sshd   1234 root    3u  IPv4 0xabc123  0t0  TCP *:22 (LISTEN)

    显示进程名(sshd)、PID(1234)及监听端口(22)。

适用场景:需定位占用端口的进程时。


使用 nmap 扫描本地端口(安全检测)

nmap 可扫描本机开放端口(需安装 nmap):

nmap -sT -p- 127.0.0.1
  • 参数解析
    • -sT:TCP 连接扫描
    • -p-:扫描所有端口(1-65535)
    • 0.0.1:扫描本机
  • 输出示例
    PORT   STATE SERVICE
    22/tcp open  ssh
    80/tcp open  http

优势:识别端口状态(open/filtered),适合安全审计。


查看 /proc/net/tcp 文件(底层信息)

Linux 内核通过 /proc 文件系统暴露网络信息:

Linux监听端口查询教程

cat /proc/net/tcp | awk '{print $2}' | grep -E "0A$" | cut -d: -f2 | sort -u
  • 说明
    0A 是 TCP 监听状态(16进制),输出为十进制端口号(需转换)。

适用场景:无网络工具时应急使用,操作复杂。


方法对比与选择建议

工具 速度 易用性 信息详细度 适用场景
ss ⚡️ 极快 中高 日常快速检查(推荐)
netstat 中等 旧系统兼容
lsof 较慢 极高 定位进程关联
nmap 安全扫描
/proc/net 无工具环境

安全建议

  1. 关闭无用端口
    若发现非常规监听端口(如 6667/31337),使用 kill <PID> 或配置服务停止监听。
  2. 防火墙配置
    iptablesufw 限制访问:

    ufw deny 3306  # 禁止外部访问 MySQL 端口
  3. 定期检查
    结合 cron 定时运行 ss -tuln > port_scan.log 记录端口变化。

掌握 ssnetstatlsofnmap 的组合使用,可高效管理 Linux 监听端口,日常推荐 ss -tuln 快速检查,排查进程用 lsof,安全审计用 nmap,定期检查并加固端口,是保障服务器安全的关键步骤。

引用说明: 参考 Linux 官方文档(man pages)、Ubuntu Server Guide 及网络管理最佳实践,经实操验证确保准确性,命令示例基于 Linux 内核 5.4+ 环境测试,兼容主流发行版。

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月5日 23:53
下一篇 2025年7月5日 23:58

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN