怎么查看linux服务器开放哪个端口,如何查看linux服务器所有开放端口?

查看Linux服务器开放端口,最直接的方法是使用ss命令,输入ss -tlnp即可列出所有TCP端口监听状态,加上grep筛选就能快速定位你关心的端口。 这个命令在绝大多数Linux发行版中默认可用,无需额外安装,比传统netstat更快更准。

核心命令:linux查看端口命令 ss 与 netstat 对比

ss属于iproute2包,是netstat的现代替代方案,两者都能列出开放端口,但ss在信息细节和性能上更胜一筹,下面分别拆解它们的用法。

ss命令详解

ss命令参数组合很短,但很实用,常用组合是ss -tlnp,含义如下:

  • -t:只显示TCP端口
  • -l:只显示监听中的端口(LISTEN状态)
  • -n:以数字格式显示地址和端口,避免解析服务名
  • -p:显示占用端口的进程PID和名称

要查看UDP端口,把-t换成-u,比如ss -ulnp,想同时看TCP和UDP,直接写ss -tulnp。

实操示例:

  • 查看所有监听端口:ss -tlnp
  • 查看80端口是否开放:ss -tlnp | grep :80
  • 查看特定进程占用的端口:ss -tlnp | grep nginx

netstat命令详解

netstat默认不包含在最小化安装的Linux中,需要额外安装net-tools包,常用组合是netstat -tuln,参数:

  • -t:TCP
  • -u:UDP
  • -l:监听状态
  • -n:数字格式
  • -p:显示进程(需root权限)

注意: 很多线上系统已经不再预装netstat,遇到command not found时,直接用ss即可。

ss与netstat对比

怎么查看linux服务器开放哪个端口,如何查看linux服务器所有开放端口?

对比项 ss netstat
默认安装 是(iproute2) 否(需额外安装)
执行速度 快,直接从内核读取数据 较慢,读取/proc文件系统
信息详细度 更详细,显示socket状态、缓冲区信息 基本够用
适用场景 现代运维首选 兼容旧脚本或习惯

据统计,近年来新装Linux系统默认都不带netstat,所以ss是更稳妥的linux查看端口命令。

怎么查看linux服务器端口是否开放从本地到远程

本地检查只能看到端口是否在监听,外部验证才能确认端口真正可达,防火墙可能拦截流量,即使端口在监听。

本地检查端口监听状态

登录服务器后,直接运行ss -tlnp,输出中State列为LISTEN代表端口开放,如果端口不在列表中,说明服务没启动或配置错误。

具体步骤:

  1. 查看所有监听端口:ss -tlnp
  2. 筛选特定端口,如ssh -tlnp | grep 3306
  3. 确认进程无误:ss -tlnp | grep mysqld

从外部验证端口是否开放

在另外一台机器上(或同一个云账号下的内网机器),用以下工具测试:

  • telnet:telnet 服务器IP 端口,如果连接成功,显示Connected,说明端口开放
  • nc (netcat):nc -zv 服务器IP 端口,-z表示只扫描不发送数据,-v打印详细信息
  • curl:针对HTTP/HTTPS端口,curl -I http://服务器IP:端口,看返回的头信息

注意: 测试时保证目标机器防火墙允许入站流量,否则会显示超时或被拒绝。

防火墙规则对端口开放的影响

即使端口在监听,防火墙没放行,外部依然无法访问,检查防火墙规则:

  • iptables:iptables -L -n 查看所有规则链,注意INPUT

    怎么查看linux服务器开放哪个端口,如何查看linux服务器所有开放端口?

    链是否允许目标端口

  • firewalld:firewall-cmd --list-ports 查看开放端口,或firewall-cmd --list-all 查看完整配置
  • ufw:ufw status 查看启用的规则

排查思路: 先本地确认端口在监听,再确认防火墙放行,最后从外部测试,如果本地监听但外部不通,多半是防火墙或云厂商安全组规则没配置。

端口被占用怎么办?排查linux哪个端口被占用

当启动服务时提示“端口已占用”,需要找到占用端口的进程并处理。

查找占用端口的进程

使用ss -tlnp直接显示PID和进程名,如果端口处于非监听状态,用ss -tanp查看所有TCP连接(包括已建立),也可以使用lsof -i :端口号,但这需要root权限才能看到完整进程信息。

示例: 查看80端口被谁占用

ss -tlnp | grep :80
# 输出类似:LISTEN 0 128 :80 : users:(("nginx",pid=1234,fd=6))

说明PID为1234的nginx进程占用80端口。

释放端口或修改配置

根据占用进程决定处理方式:

  • 如果是必需服务,记录其PID,确认后可以用kill -9 PID强制终止(谨慎使用,可能影响业务)
  • 如果是自己启动的测试程序,直接关闭即可
  • 如果是误配置导致端口冲突,修改服务配置文件(如Nginx的listen指令),重启服务

预防建议: 在启动服务前,先用ss -tlnp | grep :端口号确认端口空闲,避免冲突。

进阶:linux端口开放状态查询与安全审计

除了基础查看,安全人员常需要系统性地扫描端口范围,评估暴露面。

使用nmap扫描端口

nmap是专业的端口扫描工具,不要对未授权服务器使用,常见用法:

  • 扫描单个端口:nmap -sT 目标IP -p 22,80,443
  • 扫描常见端口:

    怎么查看linux服务器开放哪个端口,如何查看linux服务器所有开放端口?

    nmap -sT --top-ports 100 目标IP

  • 快速扫描全部端口:nmap -sT -p- 目标IP(耗时较长)

注意: 云服务器上使用nmap扫描自己或同内网机器,不会触发违规,但扫描外部IP可能被记为攻击行为。

定期检查开放端口的必要性

行业共识认为,缩小开放端口范围是降低入侵风险的最有效手段之一,很多安全事件都是因为非必要端口暴露在公网(如Redis、MongoDB默认端口未加限制),建议每季度使用ss -tlnp和防火墙规则对比,关闭不再使用的端口。

实操建议:

  • 列出所有监听端口:ss -tlnp
  • 与业务端口清单对比,标记异常端口
  • 用防火墙限制来源IP,只允许特定IP访问管理端口

常见问题与解答(linux端口开放状态查询Q&A)

如何查看Linux服务器所有开放端口?

使用ss -tlnp(TCP)和ss -ulnp(UDP)即可列出所有监听端口,要查看包含已建立连接在内的所有端口,去掉-l参数,如ss -tanp,如果系统没有ss,用netstat -tuln代替。

用什么命令查看端口对应的服务名称?

ss -tlnp中users字段会显示进程名和PID,如果显示不完整,用lsof -i:端口号(需root)能更详细地列出进程信息,包括文件描述符,也可以组合ps -p PID -o comm=获得进程名。

ss和netstat有什么区别?

ss是iproute2包的一部分,默认安装,直接从内核获取数据,速度快且信息丰富;netstat来自net-tools包,需要额外安装,解析/proc文件系统,较慢,多数情况下,ss已经完全覆盖netstat的功能,建议优先使用ss,如果需要在旧脚本中保持兼容,netstat仍有存在价值,但新系统应转向ss。

掌握ss和netstat命令,再结合防火墙规则检查,就能完整掌握Linux服务器的端口开放状态。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/689452.html

赞 (0)
上一篇 2026年8月19日 04:26
下一篇 2026年8月19日 04:26

相关推荐

  • 济南网站开发费用多少钱,济南做网站价格怎么算

    在济南,网站开发的费用并非一个固定的数字,而是根据企业的具体需求、技术复杂度、设计水平以及后期维护服务而综合决定的,通常情况下,一个标准的企业展示型网站开发费用在3000元至8000元之间,而高端定制开发或功能复杂的平台型网站费用则通常在15000元至50000元甚至更高,企业在制定预算时,不应仅关注初次建设成……

    2026年2月22日
    02105
  • phpcms二次开发如何对接百度网盘实现附件远程存储?

    管理系统(CMS)的应用中,PHPCMS凭借其灵活性和开源特性,仍被众多网站所采用,随着网站内容日益丰富,特别是涉及大量文件下载、图片展示等场景时,服务器本地存储的瓶颈逐渐显现,如存储空间有限、带宽成本高昂、文件管理不便等问题,为此,将PHPCMS与百度网盘进行二次开发集成,成为了一个极具价值的解决方案,它能够……

    2025年10月13日
    04910
  • 云服务器哪个返利多,云服务器返利平台哪家返利高?

    云服务器哪个返利多?结论先说:没有全平台第一,按场景选才划算,新客首购看官方新客计划和一级代理,续费看长期合作代理,大客户看厂商直签折扣,轻量套餐看返利平台,返利高低由订单类型、渠道层级、账期和是否新客共同决定,云服务器哪个返利多?先分清三种返利来源很多人一上来就问比例,其实返利来源不同,规则完全不同,把来源拆……

    2026年9月24日
    0392
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 开发一个网站究竟需要多少人的团队?项目规模与人员配置深度揭秘!

    开发一个网站需要多少个人?这是一个涉及团队规模、项目复杂度以及具体任务分配的问题,以下我们将从不同角度分析这个问题,并提供一些具体的数据和例子,团队规模与项目类型简单网站对于简单的个人博客或小型企业网站,可能只需要一个或两个人即可完成,通常包括:设计师:负责网站的美观设计和用户体验,开发者:负责网站的编程和功能……

    2025年12月11日
    04790

发表回复

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

评论列表(1条)

  • 老魂5096的头像
    老魂5096 2026年8月19日 04:44

    读了这篇文章,我深有感触。作者对端口的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!