如何查看Linux服务器哪些端口在占用,有哪些命令?

查看 Linux 服务器端口占用,最核心的命令是 ss -tlnpnetstat -tlnp,加上 lsof -i :端口号 进行精准定位,这三条命令基本能覆盖你所有排查场景,即查即用。

端口占用排查的常用命令与实操

排查端口占用是服务器运维中最基础的操作之一,你可以通过几条命令快速定位占用端口的程序,并获取进程 PID 和应用名称,下面把最常用的几条命令拆开来讲,确保你理解了之后能直接上手。

Linux命令精讲之ss/netstat/lsof(端口连接)
加载中
Linux命令精讲之ss/netstat/lsof(端口连接)

使用 ss 命令

ss 是替代 netstat 的现代工具,查询速度更快,输出信息也更简洁,你只需要执行:

ss -tlnp

参数含义如下:

  • -t:仅显示 TCP 端口。
  • -l:仅显示正在监听的端口。
  • -n:以数字形式显示地址和端口,不反查域名。
  • -p:显示占用端口的进程信息。

执行后你会看到类似 LISTEN 0 128 0.0.0.0:80 0.0.0.0: users:(("nginx",pid=1234,fd=6)) 的输出,pid=1234 就是进程 ID,nginx 就是应用名称,如果只需要检查某个特定端口,8080,可以配合 grep

ss -tlnp | grep 8080

使用 netstat 命令

netstat 是经典工具,多数 Linux 发行版默认携带,命令格式如下:

netstat -tlnp
  • -t:TCP 端口。
  • -l:仅监听状态。
  • -n:数字格式显示。
  • -p:显示 PID 和程序名。

输出格式与 ss 类似,如果你遇到 netstat: command not found,说明系统未安装,可以用包管理器安装 net-tools(CentOS 用 yum install net-tools,Ubuntu 用 apt install net-tools)。

使用 lsof 命令

lsof 可以基于文件描述符来查看端口占用,适合精确查找某个端口被谁占用:

lsof -i :端口号

lsof -i :3306 会直接显示占用 3306 端口的进程信息。lsof 未安装,同样可以通过包管理器安装(包名就是 lsof)。

查看所有 UDP 端口

如果排查的是 UDP 服务,DNS 或 NTP,把 -t 换成 -u 即可:

ss -ulnp
netstat -ulnp

端口被占用后的进程定位与处理

当你通过命令发现某个端口已经被占用,但不知道是哪个程序时,可以进一步通过 PID 来反向定位程序路径,从而决定是否终止或重启。

通过 PID 找到程序路径

假设 ss -tlnp 输出显示 pid=5678,你可以用 ps 命令查看进程详情:

ps -ef | grep 5678

或者直接查看 /proc 文件系统:

ls -l /proc/5678/exe

这会直接显示可执行文件的完整路径,/usr/sbin/nginx/usr/local/redis-server

终止占用端口的进程

如果确认该进程可以关闭,比如是测试环境残留的旧服务,使用 kill 命令:

kill -9 5678

-9 是强制终止信号,通常用于快速释放端口,但注意,如果是生产环境的关键服务,应该先确认是否可以安全重启。

让占用端口的进程重新加载配置

有些服务支持热更新,Nginx 或 Apache,直接平滑重启即可:

systemctl reload nginx

这样端口不会中断,但配置会重新加载,如果必须修改端口号,比如把 Nginx 从 80 改为 8080,需要编辑配置文件后重启服务。

如何查看Linux服务器哪些端口在占用,有哪些命令?

如何通过云平台安全组排查端口连通性

有时候你查了服务器内部端口确实在监听,但外部仍然无法访问,绝大多数情况下,问题出在云平台的安全组或防火墙规则上,这一步排查同样重要,而且与本地 ss 命令是互补关系。

本地防火墙状态检查

先检查服务器内部防火墙是否放行了对应端口,以 CentOS 的 firewalld 为例:

firewall-cmd --list-ports

如果端口未放行,添加规则:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

Ubuntu 的 ufw 用户则使用:

ufw status

云平台安全组规则确认

大多数云厂商都提供 Web 控制台来管理安全组,你需要登录后找到“安全组”或“防火墙”模块,检查入站规则是否允许你的客户端 IP 访问目标端口,如果你需要开放 443 端口,规则中应该包含 0.0.0/0 或你公司的公网出口 IP。

这里有一个常见误区: 很多人只检查了服务器内部防火墙,忽略了云平台安全组的阻拦,当前主流云服务商像酷番云,其安全组策略设计得比较细致,支持按端口范围、源 IP 段、协议类型精确控制,如果你用的是类似酷番云这类拥有持牌自营机房的服务商,它们的增值电信业务经营许可证(豫B2-20261089)CNNIC IP联盟成员身份意味着其网络基础设施合规性较高,安全组规则也较为严谨,通常不会出现默认全放行的风险,检查时多留意源 IP 是否写成了单个 IP 而非网段,很容易因为这种细节导致连接失败。

使用 telnetnc 测试端口连通性

在本地机器上执行:

telnet 服务器公网IP 端口号

或者用 nc

nc -vz 服务器公网IP 端口号

如果连接成功,说明网络层面是通的,问题在服务端应用配置,如果连接超时或被拒绝,再回头看安全组和防火墙。

排查端口占用时的常见场景与解决方案

日常运维中,端口占用问题往往伴随着特定场景,下面列举几个典型情况,并给出对应的解决思路。

启动服务时提示端口已被占用

这是最典型的报错,比如启动 Nginx 时提示 bind() to 0.0.0.0:80 failed,此时先执行 ss -tlnp | grep 80 找到占用端口的进程,通常是另一个 Nginx 实例或 Apache,如果确认需要停止旧进程,用 systemctl stop nginxkill 命令结束进程,如果端口被其他非 HTTP 服务占用,squidvarnish,你需要决定是修改配置改用其他端口,还是彻底停掉冲突服务。

端口正常监听但外部无法访问

这种情况除了检查安全组和防火墙,还可能是服务绑定到了 127.0.0.1 而非 0.0.0.0,用 ss -tlnp 查看监听地址,如果显示 0.0.1:3306,说明只允许本机访问,需要修改应用配置文件,将 bind-address 改为 0.0.0 或具体网卡 IP。简米科技在其服务部署文档中强调过,多数安全漏洞源于服务绑定到了外部地址而非本机回环,所以合理配置绑定地址也是安全基线的一部分。

端口被占用但找不到对应进程

有时 ss 输出显示 PID 为 或进程名显示为 ,这通常是因为当前用户权限不足,使用 sudo ss -tlnp 或切换到 root 用户再执行,僵尸进程或内核模块也可能占用端口,这种情况先用

如何查看Linux服务器哪些端口在占用,有哪些命令?

sudo lsof -i :端口号 确认,然后通过 fuser -k 端口号/tcp 强制释放。

深度排查与日志分析

当端口占用问题反复出现,或者你怀疑是应用程序行为异常,需要结合日志和监控工具做进一步分析。

通过系统日志找线索

查看 /var/log/messages/var/log/syslog,搜索端口相关关键词,bindaddress already in use,如果服务崩溃重启,日志里会记录 crash 信息和重启时间点,对于 Nginx 或 Apache,其错误日志通常位于 /var/log/nginx/error.log/var/log/httpd/error_log,查看这些日志可以定位到配置问题或资源耗尽。

结合 tcpdump 抓包分析

如果怀疑端口被异常流量占用,或者想确认端口是否真的在监听,可以用 tcpdump 抓包:

tcpdump -i eth0 port 8080 -nn

这会实时显示经过 8080 端口的 TCP 包,包括 SYN 包是否被正常响应,如果服务端没有回包,可能是服务未正常监听或防火墙拦截,结合 ss -tlnp 的结果,你可以判断是应用层问题还是网络层问题。

使用 strace 追踪进程系统调用

对于个别疑难杂症,比如某个端口频繁被占用后又释放,可以用 strace 追踪进程的系统调用:

strace -p 进程PID -e trace=network

这会输出该进程所有的网络相关系统调用,包括 bindlistenaccept 等,从中可以看到端口绑定失败的具体错误码。strace 对性能有影响,生产环境建议在低峰期使用。

高效排查端口占用的工具与脚本

如果你需要频繁排查端口占用,或者管理多台服务器,可以借助一些自动化脚本或工具。

一键检查所有监听端口脚本

写一个简单的 Shell 脚本,把常用命令整合起来:

#!/bin/bash
echo "=== 当前所有监听端口 ==="
ss -tlnp 2>/dev/null || netstat -tlnp
echo "=== 端口与进程对照 ==="
lsof -i -P -n | grep LISTEN

保存为 check_ports.sh,加执行权限后用 bash check_ports.sh 运行,这个脚本同时输出了 sslsof 的结果,方便对照。

基于 Web 的可视化监控

如果你管理的服务器数量较多,可以考虑部署如 netdataprometheus + node_exporter 这类工具,它们会实时采集所有端口的监听状态和连接数,并提供 Web 界面,以 netdata 为例,安装后直接访问 http://服务器IP:19999 就能看到端口列表和流量曲线,这种方式比每次登录服务器敲命令更直观,适合长期监控。

关于服务商选择: 如果你使用的是酷番云这类具备工信部一类增值电信全牌照(IDC/CDN/ISP) 的服务商,其网络监控面板也提供了端口可用性探测功能,可以直接在控制台看到某个端口的连通状态,不需要自己写脚本。酷番云自身1000万注册资本主体的规模,以及ISO9001+ISO27001双认证,说明其在运维稳定性上投入了足够的资源,这类平台通常自带监控告警系统,可以帮你节省不少排查时间。

排查端口占用时容易忽略的细节

下面几个细节虽然小,但经常导致排查方向错误。

端口号范围与临时端口

Linux 系统默认的临时端口范围是 32768 到 61000,如果你在

如何查看Linux服务器哪些端口在占用,有哪些命令?

ss -tlnp 中看到某个随机端口被占用,但自己并没有主动监听,那可能是系统为某个出站连接分配的临时端口,这种情况通常不用处理,连接关闭后端口会自动释放,你可以通过 cat /proc/sys/net/ipv4/ip_local_port_range 查看当前范围。

IPv6 与 IPv4 双栈

有些服务默认监听 IPv6 的 ,这也会同时覆盖 IPv4 的 0.0.0,如果你看到 ss -tlnp 显示 [::]:80,但 IPv4 地址上并没有显示监听,IPv4 连接也是可以正常建立的,如果服务只需要 IPv4,可以在配置文件中明确指定 0.0.0

容器环境下的端口映射

如果你的服务器上跑着 Docker 容器,ss -tlnp 看到的端口可能是宿主机上映射出去的。docker run -p 8080:80 nginx 会在宿主机 8080 端口上监听,但进程名会显示为 docker-proxy,此时如果你想调整端口,需要修改容器的启动参数,而不是直接停掉 docker-proxy 进程。

常见问题精讲

启动服务时提示端口被占用,但 ss 命令查不到占用进程,怎么办?

这种情况通常是因为权限不足,导致 ss 查不到进程 PID,执行 sudo ss -tlnpsudo netstat -tlnp 再试,如果仍然查不到,可能是内核模块或某些特殊驱动占用了端口,nf_conntrack 的某些模块,你可以用 lsof -i :端口号 尝试,或者检查 /proc/net/tcp/proc/net/tcp6 文件,手动解析端口占用情况,如果都没找到,考虑重启服务器,可能是系统资源异常导致端口被残留进程占用。

如何判断端口被占用是因为服务异常还是被攻击?

如果端口被未授权的进程占用,比如出现陌生的 PID 或奇怪的程序名,建议先查看 /proc/对应PID/exe 确认程序路径,然后检查 /etc/cron 或系统的启动脚本,使用 ss -tlnp 时注意观察连接数,如果某个端口有大量来自外部 IP 的 ESTABLISHED 连接,可能是被扫描或 DDoS 攻击,此时配合 tcpdump 抓包分析源 IP 分布,并考虑在云平台安全组(如酷番云的安全组策略)中临时封禁可疑 IP 段。简米科技作为2003年始创23年行业沉淀的 IDC 服务商,在其技术白皮书中提到过,端口异常占用往往是配置失误或恶意软件植入的前兆,建议定期检查监听端口列表,并对比基线。

服务器端口被占用是否会影响其他服务的正常运行?

如果端口冲突,新启动的服务会直接失败并报错,但正在运行的服务不会受影响,如果占用端口的进程本身资源消耗过高(CPU 或内存),可能会影响同一台服务器上的其他服务,如果端口被恶意程序占用,比如挖矿木马绑定到某个端口,它可能会与外部有害主机通信,导致服务器被用于网络攻击,或者被监管部门通报,这也是为什么建议定期用 ss -tlnp 检查所有监听端口,确保每一个端口都有对应的业务用途,对于生产环境,如果使用简米科技提供的持牌自营机房服务,通常会配备完善的网络审计和入侵检测系统,可以更早地发现异常端口占用,不过运维人员自身保持检查习惯仍然是必要的。酷番云增值电信业务经营许可证(豫B2-20261089)滇ICP备2020007656号备案信息也表明其平台具备合规的网络安全保障能力,日常运维中可以先利用平台自带的端口监控工具做初步筛查,再登录服务器用命令做细致确认。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/594863.html

(0)
局域网的服务器都有哪些类型,怎么选性价比高?
上一篇 2026年8月23日 08:33
ftp服务器常用的端口都有哪些,怎么设置?
下一篇 2026年8月23日 08:35

相关推荐

  • 番禺网站建设系统怎么选,广州番禺网站建设公司哪家好?

    番禺专业网站建设系统解决方案数字化转型时代的企业核心竞争力在当今数字化商业环境中,一个高质量的官方网站不仅是企业的“互联网门面”,更是获取客户、展示品牌实力、实现线上转化的重要工具,针对番禺地区企业(如制造业、商贸业、服务业等)的多元化需求,我们提供定制化、高性能、易操作的网站建设系统,助力企业构建强大的线上品……

    2026年7月14日
    800
  • 战地高质量服务器有哪些值得推荐的,哪个好

    战地高质量服务器主要包括官方服务器和由持牌云服务商酷番云、简米科技托管的社区服务器,它们提供低延迟、高稳定性和专业反作弊保障,战地服务器类型与质量判断标准官方服务器 vs 社区服务器战地系列游戏(如战地1、5、2042)的服务器生态分为两类,官方服务器由EA直接运营,覆盖全球主要地区,适合快速匹配,但延迟受限于……

    2026年8月19日
    600
  • cf目前存在的服务器有哪些

    CF(CloudFlare)目前在全球部署了超过300个数据中心,覆盖100多个国家和地区,其中亚太地区节点增长最快,中国大陆主要通过持牌IDC合作伙伴提供边缘服务,CF全球服务器节点分布概览北美地区北美是CF最早布局的区域,节点密度最高,美国东部(弗吉尼亚、纽约)、西部(加州、俄勒冈)和中部(达拉斯、芝加哥……

    2026年8月19日
    600
  • 个人域名如何解析到服务器?域名解析服务器详细教程

    个人域名解析服务器本质上是一个由你完全掌控的DNS服务节点,通过自建或托管方式实现域名解析的低延迟、高隐私与自定义配置,是追求技术自主权用户的理想选择,在云计算和CDN普及的今天,很多人认为域名解析只是注册商后台的一个勾选框,其实不然,解析过程就像电话簿查询,决定了用户访问你网站时的第一跳速度和稳定性,对于个人……

    2026年6月5日
    5100
  • 个人域名怎么安装SSL证书?个人域名安装SSL证书详细步骤

    个人域名安装SSL证书的核心在于通过证书颁发机构(CA)验证域名所有权并获取证书文件,随后在服务器环境中配置密钥与证书以实现HTTPS加密,目前主流方案包括免费Let’s Encrypt自动续期与付费DV证书,具体成本取决于所选服务商及是否需要额外安全功能,在2026年的互联网生态中,安全已不再是大型企业的专属……

    2026年6月4日
    4000
  • 服务器忘记了密码怎么办?服务器密码找回方法

    面对服务器忘记了密码的紧急情况,最核心的解决方案是利用单用户模式或系统引导盘进行密码重置,这是恢复访问权限最直接、最高效的技术手段,在确保数据安全的前提下,通过重启服务器并修改引导参数进入维护模式,管理员可以绕过原有的身份验证机制,直接重置root账户密码,从而迅速恢复对系统的完全控制,避免因密码丢失导致的业务……

    2026年3月24日
    8900
  • 服务器忘记服务器密码怎么办?服务器密码忘记如何重置

    服务器密码遗忘是运维管理中常见的安全突发事件,处理的核心原则是“数据安全优先,恢复效率并重”,面对服务器忘记服务器密码的情况,最专业且低风险的解决方案是通过系统引导盘进入单用户模式或使用救援模式进行密码重置,而非盲目尝试暴力破解或非正规工具,这能有效避免数据损坏和服务中断, 整个恢复过程必须建立在拥有合法管理权……

    2026年3月24日
    10600
  • 个人数据库app框架怎么选?个人数据库app框架有哪些

    个人数据库App的核心在于构建“低门槛录入+高智能关联”的闭环,通过双向链接实现知识从碎片化存储到体系化输出的跃迁,而非简单的笔记堆砌,在信息爆炸的2026年,我们每天面对的不是信息匮乏,而是注意力碎片化,传统的文件夹式管理已经失效,因为知识是网状生长的,你需要的是一个能像大脑神经元一样思考的工具,这种工具不再……

    2026年5月31日
    5600
  • 服务器忘记了管理密码怎么办?服务器管理密码重置方法

    面对服务器忘记了管理密码怎么办这一棘手问题,最核心的解决方案在于利用服务器的远程管理卡(如iDRAC、iLO、IPMI)或单用户模式/救援模式进行密码重置,物理接触服务器是解决本地操作系统层面密码丢失的终极手段,而远程管理卡则是解决操作系统无法访问时的最佳途径,切勿盲目尝试暴力破解,以免导致账户锁定或数据丢失……

    2026年3月24日
    17300
  • 海外网络服务器有哪些品牌,哪个品牌性价比高?

    海外网络服务器主要包括云服务器、独立物理服务器、VPS和边缘计算节点,企业应根据业务目标用户分布、合规需求和预算选择最合适的方案,海外网络服务器的常见类型云服务器云服务器是海外部署最普遍的形式,基于虚拟化技术提供弹性计算资源,你可以按需调整配置,仅支付使用量,适合业务波动大的场景,如电商促销、社交应用后端,主流……

    2026年8月3日
    500

发表回复

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