如何查看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://test.idctop.com/article/594863.html

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

相关推荐

  • 看智慧物流视频有何感悟?智慧物流发展趋势如何

    技术不再是辅助工具,而是重塑供应链效率的核心驱动力,通过自动化与数据智能的深度融合,企业正从“人力密集型”向“技术密集型”发生根本性转变,视频展示的不再是冷冰冰的机器堆砌,而是一场关于效率、成本与体验的静默革命,当看到无人叉车在昏暗仓库中精准穿梭,当看到算法在毫秒间规划出最优配送路径,我们不得不承认,传统的物流……

    2026年7月4日
    7400
  • 服务器最多几人链接,服务器最大连接数是多少

    服务器承载能力并非一个固定的数字,而是由硬件配置、网络带宽、系统优化及应用程序架构共同决定的综合指标,理论上,一台服务器的并发连接数可以达到数万甚至数十万,但在实际业务场景中,服务器最多几人链接往往受限于具体的业务逻辑和资源瓶颈,对于大多数Web应用而言,单台服务器在经过深度优化后,稳定支撑3万至5万的并发连接……

    2026年2月23日
    15700
  • 服务器用什么操作系统好?服务器操作系统选择指南

    服务器操作系统主要分为四大类:Linux发行版、Windows Server、Unix系统及云原生操作系统,每类系统针对不同业务场景设计,企业需根据性能需求、安全策略、开发环境和运维成本综合选择,Linux服务器操作系统:开源的基石代表系统:Red Hat Enterprise Linux (RHEL):企业级……

    2026年2月13日
    13900
  • 服务器服务文档怎么写,服务器配置文档内容有哪些

    构建完善的服务器服务文档是保障系统长期稳定运行、降低运维成本以及提升团队协作效率的基石,一份高质量的服务器服务文档不仅是技术实施的说明书,更是连接底层架构与上层业务的关键纽带,它必须具备清晰的逻辑架构、详尽的参数配置以及标准化的操作流程,以确保技术人员能够快速理解环境、定位问题并执行部署,在构建服务器服务文档介……

    2026年2月22日
    15100
  • 观察期大数据分析是什么?如何优化提升转化率

    观察期大数据分析的核心在于通过多维数据清洗与行为轨迹追踪,精准识别潜在风险并优化转化路径,而非单纯追求流量增长,在数字化营销进入深水区的当下,许多企业依然停留在“看数据”而非“懂数据”的阶段,所谓的观察期,并非无所事事的等待,而是对流量质量、用户意图以及转化漏斗进行深度体检的关键窗口,这一阶段的数据价值,往往比……

    2026年7月7日
    17500
  • 奥罗服务器有哪些知名主播,哪里看直播

    奥罗服务器作为魔兽世界怀旧服中的高人气PVP大服,如今活跃着多位一线主播,包括专注PVP技术的黑欢喜、喜欢野外厮杀的Zq,以及以PVE速通见长的棒老三等,他们共同构成了奥罗服丰富的主播生态,奥罗服务器主播生态概览奥罗服务器之所以能吸引大量主播,与其独特的PVP环境密不可分,这里既是联盟与部落激烈对抗的战场,也是……

    2026年8月22日
    300
  • 服务器开发云是什么?服务器开发云平台哪家好

    服务器开发云正在重塑现代软件架构的底层逻辑,其核心价值在于将传统的本地化开发模式转化为云端一体化协作流程,极大缩短了从代码编写到业务上线的生命周期,企业通过构建或接入成熟的云端开发环境,能够实现资源的弹性伸缩与环境的标准化交付,这不仅是技术基础设施的升级,更是研发效能提升的关键转折点,构建高效稳定的云端研发底座……

    2026年4月3日
    7500
  • 高通文字识别怎么用?高通OCR识别准确率高吗

    高通文字识别凭借端侧NPU算力跃升与多模态大模型融合,在2026年已成为移动端与物联网场景下低延迟、高隐私的OCR首选方案,高通文字识别技术底座与2026核心突破端侧算力重构OCR处理逻辑传统文字识别高度依赖云端请求,常受制于网络波动与隐私合规,2026年,高通骁龙8 Gen 5及后续平台集成的Hexagon……

    2026年4月24日
    6500
  • 服务器换操作系统怎么操作?服务器更换系统详细步骤教程

    服务器更换操作系统是一项高风险、高技术门槛的系统工程,其核心在于数据的绝对安全与业务的无缝衔接,成功的操作系统更换不仅仅是简单的软件安装,而是一个涵盖风险评估、数据备份、环境兼容性测试及回滚预案的完整闭环,务必遵循“备份优先、测试居中、切换在后”的原则,任何忽视备份或兼容性检查的操作都可能导致不可逆的数据丢失或……

    2026年3月12日
    10900
  • 服务器开放全部端口有什么风险?服务器端口全开安全吗

    服务器开放全部端口意味着将服务器暴露在极高的安全风险之下,这通常被视为网络配置中的“禁忌操作”,在绝大多数生产环境中,开放所有端口会导致服务器迅速沦为黑客扫描、暴力破解及恶意软件入侵的目标,核心结论非常明确:除非处于完全隔离的离线测试环境,否则严禁对公网执行服务器开放全部端口的操作,正确的做法是遵循“最小权限原……

    2026年3月27日
    9600

发表回复

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