linux怎么查看服务器端口号,端口查询命令有哪些?

查看Linux服务器端口号,最直接的方法是使用ss -tlnp或netstat -tlnp命令,它们能一次性列出所有监听端口及其对应进程。

搞清楚Linux端口查看的核心逻辑

很多朋友第一次接触Linux服务器时,面对黑乎乎的终端窗口,最懵的就是“我服务明明启动了,到底起没起来?端口通不通?” 其实查看端口这件事,本质就两句话:看哪些端口在监听,看哪个进程占用了这个端口。

5分钟学会查看Linux端口占用情况
加载中
5分钟学会查看Linux端口占用情况
卿
卿瑜的技术日记
2.4万--
原视频地址

咱们日常工作中最常见的场景无非三种:部署完Nginx想确认80端口有没有起来、排查“端口被占用”的报错、或者想知道某个进程到底监听了哪些端口,围绕这三个场景,下面的命令足够覆盖90%以上的需求。

在动手敲命令前,你需要明白一个关键概念:Linux下所有网络连接都是文件描述符,而查看端口就是去读这些描述符的状态,理解了这一点,你就知道为什么ss和netstat的输出格式那么像了,因为它们本质上是同一类工具。

最推荐的ss命令:现代Linux标配

如果你用的是CentOS 7及以上、Ubuntu 18.04及以上版本,ss命令是系统自带的,不需要额外安装,它的速度比netstat快很多,尤其在服务器连接数较多时优势明显。

基础用法:列出所有监听端口

ss -tlnp

拆解一下这五个参数的含义:

  • -t:只看TCP协议
  • -l:只看正在监听的端口(LISTEN状态)
  • -n:以数字形式显示端口号,不做域名解析,速度更快
  • -p:显示占用该端口的进程PID和名称

执行后输出大概长这样:

State    Local Address:Port    Process
LISTEN   0.0.0.0:80            nginx: master
LISTEN   0.0.0.0:22            sshd
LISTEN   127.0.0.1:3306        mysqld

看到0.0.0:80表示Nginx在所有网卡上都监听80端口,0.0.1:3306表示MySQL只允许本机访问,外部无法直接连接。

只看某个特定端口

有时候你只关心一个端口是否正常,比如想确认Redis的6379是否在监听:

ss -tlnp | grep 6379

或者用更精确的写法:

ss -tlnp sport = :6379

后一种写法直接按源端口过滤,输出更干净,但记住等号两边需要空格。

查看所有连接而不只是监听

如果端口没监听,但你想看它是不是处于TIME_WAIT或ESTABLISHED状态,去掉-l参数即可:

ss -tnp

这个命令能看到当前所有TCP连接,包括已经建立的连接,当你怀疑某个端口被大量TIME_WAIT连接拖垮时,这个命令就派上用场了。

netstat命令:老牌工具依然能打

虽然说ss是未来的趋势,但很多老运维或者早期文档里还是习惯用netstat,如果你的系统提示netstat: command not found,说明没装net-tools工具包,用yum或apt装一下即可:

# CentOS / RHEL
yum install -y net-tools
# Ubuntu / Debian
apt install -y net-tools

常用组合拳

netstat -tlnp

参数含义与ss一致,输出格式也几乎相同,除了这个,还有两个变体值得收藏:

# 查看所有端口包括UDP
netstat -ulnp
# 查看Unix域套接字(常用于本地进程间通信)
netstat -xlnp

处理PID为空的情况

普通用户执行netstat -tlnp时,如果看到端口对应进程显示,说明当前用户权限不够,看不到其他用户的进程信息,这时候加上sudo就能解决:

sudo netstat -tlnp

如何根据进程名反查端口

这是linux怎么查看服务器端口号被哪个进程占用最常见的反向需求,假设你只知道进程叫java,想找到它绑定的端口:

sudo netstat -tlnp | grep java

或者先用ps找到PID,再用PID过滤:

ps -ef | grep java
sudo netstat -tlnp | grep 12345

这里的12345是你从上一步ps输出中看到的PID。

用lsof命令精准定位文件占用

lsof的全称是“list open files”,因为Linux一切皆文件,端口也是文件的一种,这个命令在排查问题时非常灵活,特别适合解决linux服务器端口被占用怎么解决这个问题之前先找出元凶。

查看端口被哪个进程占用

sudo lsof -i :8080

输出中会列出PID、进程名、用户等信息,如果没有任何输出,说明这个端口当前没有被占用。

查看某个进程打开了哪些端口

sudo lsof -i -P | grep nginx

-P参数禁止端口号转为服务名,这样显示的是数字端口而非http这种名字,排查时更直观。

lsof和ss/netstat的定位差异

ss和netstat是“从网络层看端口”,lsof是“从文件层看端口”,日常排查时先用ss -tlnp快速扫一遍,遇到搞不清具体文件句柄的情况再用lsof深挖,效率最高。

查看端口连通性的实战技巧

上面的命令都是在服务器本地查看监听状态,但有时候你需要在另一台机器上验证端口是否通,这就涉及连通性测试,业内专家指出,端口监听正常不等于服务可用,防火墙策略、安全组规则都可能拦截流量。

本机测试端口是否响应

curl -v telnet://127.0.0.1:80

如果看到Connected to 127.0.0.1字样,说明端口可达,也可以直接用telnet:

telnet 127.0.0.1 80

连接成功会进入一个空命令行界面,按Ctrl+]再输入quit退出。

使用nc检测端口状态

nc(netcat)比telnet更轻量,适合脚本中使用:

nc -zv 127.0.0.1 3306

-z表示不发送数据只扫描端口,-v输出详细信息,返回Connection succeeded说明端口通。

批量检查多个端口

服务器开了很多服务时,一个个试太慢,可以写个简单的循环:

for port in 22 80 443 3306; do
  nc -zv 127.0.0.1 $port 2>&1
done

这个脚本会依次检查四个端口,适合上线前的自检环节。

不同发行版下的注意事项

虽然命令大同小异,但不同Linux发行版还是有一些细微差别。

CentOS / Rocky Linux / Almalinux

  • 默认自带ss,netstat需要安装net-tools
  • 防火墙是firewalld,查看端口规则用firewall-cmd --list-ports,本地端口通了但外部访问不了,先查这个
  • SELinux可能拦截非标准端口,如果端口明明监听了但外部死活连不上,检查一下SELinux的布尔值

Ubuntu / Debian

  • 默认自带ss,netstat同样需要安装net-tools
  • 防火墙是ufw,用ufw status查看端口放行规则
  • Ubuntu默认禁止root远程登录,所以查看其他进程的端口信息时,记得加sudo

云服务器和物理机的差异

如果你用的是简米云、酷番云、华为云的云服务器,除了服务器内部的防火墙,还要检查云控制台的安全组规则,这几年常见的故障就是:ss命令显示端口在监听,curl本机能通,但外部访问超时,这时候八成是安全组没放行对应的入方向端口,行业共识认为,云服务器的端口排查应遵循“先看服务监听、再看系统防火墙、最后看云安全组”的顺序。

端口查看结果异常时怎么办

看到端口没有按预期监听时,先别急着重启服务,按照下面的排查路径走一遍。

确认服务是否真的在运行

systemctl status nginx

如果服务状态是active (running)但端口没监听,可能是配置里绑定了错误的IP地址,比如你配置了listen 127.0.0.1:80,那只能在服务器本机访问,外网看到的80端口就是关闭的。

检查配置文件里的端口号

以Nginx为例:

grep -r "listen" /etc/nginx/

这个命令会显示所有Nginx配置文件中监听端口的设置,看看是不是端口号写错了,或者有两个配置文件冲突。

确认端口没有被其他进程抢占

sudo ss -tlnp | grep :80

如果有其他进程占用了80端口,Nginx自然起不来,报错信息往往是“address already in use”。

高频问题快速参考表

需求场景 推荐命令 说明
查看所有监听端口 ss -tlnp 最实用,信息完整
查看某个特定端口 ss -tlnp \| grep 80 用grep过滤
查看端口被哪个进程占用 sudo lsof -i :8080 直接显示PID
查看某个进程监听的端口 sudo netstat -tlnp \| grep nginx 按进程名过滤
本机测试端口通不通 curl -v telnet://127.0.0.1:80 不用额外装包
批量检查端口连通性 nc -zv 127.0.0.1 端口 适合写脚本
查看UDP端口 ss -ulnp UDP比TCP难看,用这个最直接

一套顺手的工作流

最终回到最初的问题:linux怎么看服务器端口号,最快的路径是直接运行ss -tlnp,看到输出列表后,用grep关键字过滤你关心的端口,如果显示监听中,再用curl做一次本机连通性测试;如果外部访问失败,依次检查系统防火墙和云安全组。

对于刚接触服务器运维的朋友,记住一个原则就行:先看监听,再测连通,最后查防火墙,把这个排查顺序刻在脑子里,端口相关的坑基本都能填平。

常见问题Q&A

Linux下端口查看命令提示No such file or directory怎么办?

这通常是系统缺少对应工具包,例如netstat命令找不到,执行yum install net-tools或apt install net-tools安装后即可。ss命令属于iproute2包,大多数系统已预装。lsof则通过yum install lsof或apt install lsof安装。

为什么ss显示端口在LISTEN但grep不到对应的进程名?

执行ss -tlnp时若当前用户权限不足,进程名和PID会显示为空,使用sudo ss -tlnp重新执行即可看到完整的进程信息,如果加了sudo依然看不到,则可能是该端口由内核线程占用,通过ss -tlnp | grep 端口号确认监听状态即可。

云服务器本地端口通但公网访问不了怎么排查?

先执行ss -tlnp确认服务监听在0.0.0而非0.0.1,再检查系统防火墙并确认云控制台安全组已放行对应端口,这三步里安全组规则是云服务器最容易忽略的环节,特别是新购实例默认只放行22和3389端口。

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

赞 (0)
上一篇 2026年11月9日 11:59
下一篇 2026年11月9日 12:02

相关推荐

  • ASPNet如何上传图片到MySQL?图片上传教程与ASPNet数据库操作详解

    在ASP.NET中实现图片上传至MySQL数据库的核心在于将图像文件转化为字节数组存储,通过参数化查询避免SQL注入风险,以下是具体实现步骤:数据库准备CREATE TABLE `image_store` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `image_name` V……

    2026年2月11日
    13800
  • Win7系统时间如何与服务器同步,怎么设置

    Win7时间同步不上?手把手教你搞定服务器时间校准如果你的Win7电脑时间总是走偏,最直接的解决办法是:打开控制面板里的“日期和时间”,在“Internet时间”标签下点击“立即更新”,让系统自动从微软的time.windows.com服务器获取标准时间, 操作不过十秒,但很多人的失败恰恰卡在这个看似简单的按钮……

    程序编程 2026年10月21日
    300
  • ajax跨域接收json数据库报错怎么办?ajax跨域请求json数据解决方案

    AJAX跨域接收JSON数据的核心在于后端配置CORS响应头或前端使用JSONP/代理方案,其中现代开发首选CORS标准方案,因其安全且无需额外插件,在Web开发中,跨域请求是一个绕不开的技术痛点,当你试图用JavaScript发起一个请求,去获取另一个域名下的JSON数据时,浏览器会出于安全考虑拦截该请求,这……

    2026年5月31日
    4600
  • 帕鲁服务器为什么一直在线,是什么原因呢?

    帕鲁服务器“一直在”多半不是故障,而是守护进程、重启策略或托管平台的保活机制在维持它;只要进程健康、端口能通、存档能写,常驻就是正常状态, 你要做的不是把它关掉,而是判断它是在“健康值班”,还是在“带病硬撑”,帕鲁服务器怎么一直在运行不卡顿:先分清“常驻”和“卡死”服务器进程为什么看起来“一直在”帕鲁服务器本质……

    程序编程 2026年11月5日
    200
  • 极光KVM圣诞特惠299/年值得入手吗?美西CN2 GIA服务器推荐

    极光KVM年末圣诞特惠以299元/年的极致性价比,提供美西CN2 GIA线路、2H2G配置及200M带宽,是追求低延迟与高稳定性的用户首选,在服务器租赁市场,价格与性能的平衡点往往难以捉摸,尤其是对于需要跨境访问或搭建特定网络环境的用户而言,线路质量直接决定了使用体验,极光KVM推出的这款年末圣诞特惠产品,精准……

    2026年6月28日
    1710
  • 广州硬盘数据恢复怎么选?硬盘坏了还能恢复数据吗

    当广州地区遭遇硬盘数据丢失危机时,首选具备无尘开盘条件与固件级修复技术的专业本地机构,能最大限度保障数据存活率与信息安全,硬盘数据丢失的底层逻辑与紧急干预物理故障与逻辑故障的界限硬盘罢工往往猝不及防,精准判断故障类型,是数据起死回生的第一步,逻辑层损坏:误格式化、误克隆、病毒加密,磁介质无物理伤,仅文件系统索引……

    2026年4月29日
    4100
  • 百威v6数据服务器没反应是什么原因?,怎么解决

    百威v6数据服务器没反应,通常是因为网络不通、服务未启动、数据库损坏或配置错误,按照以下步骤排查,最快5分钟恢复连接:先ping服务器IP,再检查服务状态,接着查看防火墙和客户端配置,最后深入数据库,百威v6数据服务器没反应,如何快速从基础排查很多用户遇到百威v6数据服务器没反应,第一反应是软件坏了,其实大多数……

    2026年7月29日
    1100
  • SVN服务器ture文件夹为何找不到?,svn文件夹丢失怎么恢复

    如果你在 SVN 服务器上找不到名为“ture”的文件夹,先别急着怀疑服务器坏了:SVN 的标准目录名是 trunk,不是 ture;如果你要找的其实是 trunk,服务器文件系统里看不到它也很常见,因为 trunk 是版本库里的逻辑路径,不是仓库根目录下的普通文件夹,很多人在 Windows 资源管理器或 L……

    2026年9月24日
    300
  • QQ视频无法连接到服务器是什么原因?,怎么解决?

    QQ视频无法连接到服务器失败,归根结底是手机或电脑与QQ服务器之间的网络通道出了问题, 解决思路按“网络环境检查—权限设置核对—应用状态重置”三步走,多数情况下几分钟就能恢复,接下来我把手机端和电脑端的排查步骤拆开细讲,你照着操作就行,先分清是“网络抽风”还是“服务器罢工”动手折腾设置之前,先花一分钟判断问题出……

    2026年9月26日
    200
  • 美国BageVmVPS测评,双ISP、原生IP实测体验,美国VPS哪家强,美国VPS推荐

    美国BageVmVPS凭借双ISP路由切换与原生IP优势,在2026年跨境业务场景中,依然是兼顾稳定性与SEO友好度的高性价比首选,尤其适合对网络质量有严苛要求的建站与开发用户,核心优势深度解析:双ISP与原生IP实战表现在2026年的VPS市场中,单纯的低价已无法吸引专业用户,网络质量成为决定业务成败的关键……

    2026年5月18日
    7300

发表回复

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