Windows端口状态排查:从netstat到PowerShell的完整指南
1. 端口状态排查从新手到老手的必经之路在Windows环境下搞开发、做运维或者仅仅是解决一些网络应用的小毛病有一个场景你绝对绕不开某个应用死活启动不了提示“地址已被占用”或者你想部署一个新服务却不知道某个端口是否已经被“捷足先登”。这时候你需要的不是重启电脑也不是重装系统而是一个快速、精准的端口状态诊断能力。掌握查看端口是否开启以及定位端口占用者的方法是每一位与计算机打交道的从业者从入门到精通的必备技能。这不仅仅是敲几个命令更是理解Windows网络栈、进程管理和安全策略的窗口。无论你是刚接触命令行的小白还是需要编写自动化脚本的资深工程师一套清晰、完整的端口排查方法论都能让你事半功倍从容应对各种网络连接问题。2. 核心思路与工具选型为什么是它们在Windows上查看端口本质上是在查询操作系统的网络连接状态表和进程映射关系。Windows提供了从图形界面到命令行从内置工具到第三方软件的多种途径。我们的核心思路是由简入繁由表及里。首先快速确认端口监听状态然后精准定位占用进程最后根据需求深入分析或解决问题。为什么主要依赖命令行工具因为命令行工具如netstat,Get-NetTCPConnection是系统原生、最稳定、最权威的信息来源且易于脚本化和自动化。图形化工具如资源监视器则提供了更直观的视图适合快速手动排查。第三方工具如TCPView则在功能和展示上做了增强。选择哪种工具取决于你的使用场景临时排查用命令行或资源管理器需要持续监控或更详细的信息则可以考虑功能更强的第三方工具。2.1 内置命令行工具稳定与权威的基石Windows内置的命令行工具是端口排查的“原厂配件”无需安装随处可用结果最可信。它们直接与系统内核的网络驱动接口规范NDIS及网络协议栈交互获取第一手连接信息。netstat经久不衰的瑞士军刀这是最经典、最通用的工具从Windows 95时代延续至今。它的强大在于其信息的全面性可以显示所有活动的网络连接、监听端口、路由表等信息。对于端口排查我们主要关注其-ano参数组合它能以数字形式显示地址和端口并列出关联的进程IDPID这是定位问题的关键。PowerShell Cmdlets面向未来的现代化选择对于Windows 7及更高版本尤其是Windows 10/11PowerShell提供了更强大、更面向对象的命令。Get-NetTCPConnection和Get-NetUDPConnection这两个命令是专门用于查询TCP/UDP端口的它们返回的是对象便于通过管道进行筛选、排序和进一步处理非常适合编写自动化脚本。2.2 图形化工具直观高效的“驾驶舱”对于不习惯命令行的用户或者需要快速浏览整体情况时图形化工具是绝佳选择。资源监视器系统自带的“宝藏”它藏在任务管理器背后性能标签页中点击“打开资源监视器”。其“网络”标签页下的“侦听端口”列表以一种非常清晰的方式列出了所有正在监听连接的进程、PID、地址和端口。你可以直接排序、搜索并且能直观地看到每个进程的实时网络活动发送/接收字节数这对于判断一个监听端口是否真的有流量往来非常有用。第三方工具如TCPView专业玩家的增强视图Sysinternals Suite中的TCPView是微软官方提供的增强工具。它用一个实时更新的界面同时显示了所有TCP和UDP端点包括监听和已建立的连接并以颜色高亮显示状态变化如新连接、关闭连接。你可以直接在这里结束进程功能比系统自带工具更集中、更强大。3. 命令行实战从查询到定位的完整流程理论说再多不如动手敲一遍。下面我们以管理员身份打开命令提示符CMD或PowerShell开始实战。3.1 使用netstat进行全方位扫描netstat -ano是我们最常用的命令。让我们拆解这个命令-a显示所有连接和监听端口。-n以数字形式显示地址和端口号不进行主机名和服务名称的解析速度更快。-o显示每个连接关联的进程IDPID。执行这个命令后你会看到一个很长的列表。为了快速找到特定端口例如我们怀疑8080端口被占用我们需要结合管道和查找命令。netstat -ano | findstr :8080这行命令的意思是先执行netstat -ano获取全部列表然后通过管道|将结果传递给findstr命令让它查找包含:8080的行。这里的冒号很重要因为端口号在显示时前面有冒号如:8080这样可以避免匹配到IP地址中也包含8080的情况虽然概率极低。执行后你可能会看到类似这样的输出TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 12345 TCP [::]:8080 [::]:0 LISTENING 12345这里解读一下第一列TCP表示协议。第二列0.0.0.0:8080表示本地地址和端口。0.0.0.0表示监听所有网络接口即本机所有IP地址上的8080端口。如果显示127.0.0.1:8080则表示只监听本机环回地址。第三列0.0.0.0:0表示远程地址和端口对于监听状态LISTENING的连接这里通常是0.0.0.0:0。第四列LISTENING表示端口正处于监听状态等待连接。第五列12345就是关键的进程IDPID。注意你可能会看到两行一行是IPv40.0.0.0一行是IPv6[::]这表示该进程同时监听IPv4和IPv6的8080端口它们是同一个进程PID相同。如果findstr没有返回任何结果通常意味着该端口没有被任何进程监听。但有一种特殊情况UDP端口。UDP是无状态的netstat对于UDP端口只会显示有活动或绑定的端口不像TCP有明确的LISTENING状态。查看UDP端口占用同样使用netstat -ano但关注UDP协议的行。3.2 使用 PowerShell 进行精准查询在PowerShell中我们可以使用更现代的命令。查询本地8080端口的TCP连接情况Get-NetTCPConnection -LocalPort 8080 -ErrorAction SilentlyContinue这个命令会返回一个对象。如果端口被监听你会看到State为Listen。同时对象包含OwningProcess字段这就是PID。-ErrorAction SilentlyContinue参数是为了在端口未被占用时抑制错误信息让输出更整洁。要获得更详细的信息比如进程名可以组合使用Get-Process$connection Get-NetTCPConnection -LocalPort 8080 -ErrorAction SilentlyContinue if ($connection) { $process Get-Process -Id $connection.OwningProcess -ErrorAction SilentlyContinue Write-Host 端口 8080 被进程占用 -ForegroundColor Yellow Write-Host PID: $($connection.OwningProcess) Write-Host 进程名: $($process.ProcessName) Write-Host 状态: $($connection.State) } else { Write-Host 端口 8080 未被占用。 -ForegroundColor Green }这段脚本先获取端口连接信息如果存在则通过PID获取进程对象并打印出PID、进程名和连接状态。这种方法比netstat更结构化信息也更易读。3.3 根据PID定位并管理进程拿到PID比如上面的12345后我们需要知道它是哪个程序。有两种主要方法方法一使用任务管理器打开任务管理器CtrlShiftEsc。切换到“详细信息”标签页。默认可能没有“PID”列需要右键点击列标题选择“选择列”勾选“PID”。找到PID为12345的行对应的“进程名”就是占用端口的程序。方法二使用命令行在命令提示符或PowerShell中可以使用tasklist命令来查找tasklist | findstr 12345或者使用PowerShell更强大的命令Get-Process -Id 12345找到进程后如果你确认该进程可以关闭比如一个你已经停止但后台未退出的开发服务器你可以选择结束它。在任务管理器中右键该进程选择“结束任务”。在命令行中使用taskkill命令taskkill /PID 12345 /F/F参数表示强制结束。请谨慎使用此参数强制结束系统关键进程可能导致系统不稳定。4. 图形界面操作资源监视器详解对于喜欢点击鼠标的用户资源监视器是Windows系统内置的最佳图形化端口排查工具。打开方式最简单的方法是右键点击任务栏选择“任务管理器”在“性能”标签页左下角点击“打开资源监视器”。或者直接按Win R输入resmon回车。定位功能打开后切换到“网络”标签页。你会看到几个子窗格其中最关键的是“侦听端口”。查看监听端口在“侦听端口”列表中系统列出了所有正在等待连接的进程。表格列非常清晰进程进程名称。PID进程ID。地址监听的本机IP地址。0.0.0.0或[::]表示所有地址127.0.0.1表示仅本地。端口监听的端口号。协议TCP或UDP。筛选与搜索你可以点击任何一列的标题进行排序。例如点击“端口”列可以按端口号排序快速找到如8080、3306等常用端口。列表上方还有一个搜索框你可以直接输入端口号“8080”进行筛选结果会实时显示。关联视图在“网络活动”子窗格中你可以看到所有进程的实时网络流量。如果你在“侦听端口”中选中某个进程下方的“网络活动”和“TCP连接”会自动筛选出与该进程相关的活动这能帮你判断这个监听端口是否正在处理实际的数据传输。实操心得资源监视器的“关联的句柄”功能在“CPU”标签页其实更强大它可以搜索包括文件、注册表、端口在内的所有句柄。如果你想反向查找——已知一个端口号但netstat没查到可能权限或状态问题可以在这里的搜索框输入“:8080”试试有时会有意外发现。5. 高级场景与深度排查技巧掌握了基本方法我们来看看一些更复杂或容易踩坑的场景。5.1 排查“幽灵”占用端口已释放但无法立即重用这是开发中常见的一个深坑。你关闭了一个服务器程序试图立即重启却收到“地址已在使用”的错误。用netstat查却发现该端口并没有显示在监听列表中。这通常是因为TCP连接处于TIME_WAIT状态。原理浅析为了可靠地关闭TCP连接主动关闭连接的一方通常是服务器端在某种关闭流程下在发送最后一个ACK后会进入TIME_WAIT状态并等待2MSLMaximum Segment Lifetime通常为2分钟的时间。在此期间这个套接字对IP:Port不能被复用。这是TCP协议的设计用于处理网络上可能延迟到达的旧数据包防止它们干扰新的连接。如何查看使用netstat -ano | findstr :8080你可能会看到状态是TIME_WAIT而非LISTENING。TCP 127.0.0.1:8080 127.0.0.1:62000 TIME_WAIT 0注意此时PID为0表示这个连接已经不属于任何用户态进程由内核管理。解决方案等待最简单的方法是等待2分钟左右让系统自然回收。修改客户端行为如果是你控制的客户端让客户端程序主动关闭连接时使用带有SO_LINGER选项的优雅关闭或者设置socket的SO_REUSEADDR属性在服务器端程序代码中设置允许端口重用。但请注意SO_REUSEADDR在Windows和Unix-like系统上的语义有细微差别需查阅对应平台的编程文档。调整系统参数不推荐常规使用可以通过修改注册表调整TcpTimedWaitDelay的值来缩短TIME_WAIT等待时间。但这属于系统级调优不当修改可能影响网络稳定性一般不建议在个人开发机上操作。5.2 权限问题为什么我看不到某些端口的PID当你使用非管理员权限运行命令提示符执行netstat -ano时可能会发现一些行的PID显示为4System进程或者直接无法显示空白。这不是工具的问题而是权限不足。原因Windows系统有一些端口是由内核驱动或运行在更高特权级别的系统服务监听的如HTTP.SYS监听80/443。普通权限的进程无法查询到这些敏感进程的详细信息。解决方法始终以管理员身份运行命令提示符或PowerShell。在开始菜单搜索“cmd”或“PowerShell”右键选择“以管理员身份运行”。这样再执行netstat -ano你就能看到所有连接对应的完整PID了。5.3 防火墙与端口监听为什么 netstat 能看到但外部却连不上这是另一个常见误区netstat显示端口在LISTENING但从另一台电脑却无法telnet通。问题可能不在端口占用而在防火墙。排查步骤确认监听地址仔细看netstat的输出中“本地地址”一列。如果显示的是127.0.0.1:8080那么该端口只接受来自本机自身的连接这是出于安全考虑的一种绑定方式外部自然无法访问。你需要将服务配置为绑定0.0.0.0所有接口或特定的本机局域网IP。检查防火墙即使绑定到0.0.0.0Windows防火墙也可能阻止了入站连接。你需要为你的应用在防火墙中添加入站规则允许特定端口如TCP 8080的通信。可以临时关闭防火墙仅用于测试不推荐长期使用来确认是否是防火墙问题。更佳做法是通过“高级安全Windows Defender 防火墙”手动创建入站规则。5.4 编写自动化排查脚本对于需要频繁检查或集成到自动化流程中的场景编写一个简单的脚本会非常高效。这里提供一个PowerShell函数示例它封装了查询、定位和展示的功能function Test-PortInUse { param( [Parameter(Mandatory$true)] [int]$PortNumber, [ValidateSet(TCP, UDP)] [string]$Protocol TCP ) $result $null $processInfo $null if ($Protocol -eq TCP) { $result Get-NetTCPConnection -LocalPort $PortNumber -ErrorAction SilentlyContinue | Where-Object {$_.State -eq Listen} } else { # UDP 没有状态只要LocalPort匹配即认为占用 $result Get-NetUDPConnection -LocalPort $PortNumber -ErrorAction SilentlyContinue } if ($result) { $pidList $result.OwningProcess | Select-Object -Unique $processInfo foreach ($pid in $pidList) { Get-Process -Id $pid -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, Path } [PSCustomObject]{ Port $PortNumber Protocol $Protocol IsInUse $true Processes $processInfo Connections $result } } else { [PSCustomObject]{ Port $PortNumber Protocol $Protocol IsInUse $false Processes $null Connections $null } } } # 使用示例检查TCP 8080端口 $portStatus Test-PortInUse -PortNumber 8080 -Protocol TCP if ($portStatus.IsInUse) { Write-Host 端口 $($portStatus.Port)/$($portStatus.Protocol) 已被以下进程占用 -ForegroundColor Red $portStatus.Processes | Format-Table -AutoSize } else { Write-Host 端口 $($portStatus.Port)/$($portStatus.Protocol) 空闲。 -ForegroundColor Green }这个函数返回一个包含端口状态、占用进程等信息的对象你可以轻松地将其集成到更复杂的部署或监控脚本中。6. 方法总结与工具对比为了方便你在不同场景下快速选择我将主要方法总结如下方法/工具命令/操作优点缺点适用场景netstatnetstat -ano | findstr :端口号系统自带无需安装信息全面兼容性极佳。输出为文本需手动解析查看进程名需额外步骤。所有Windows版本通用快速一次性查询脚本基础。PowerShellGet-NetTCPConnection -LocalPort 端口号面向对象输出结构化易于筛选和脚本化功能强大。仅适用于PowerShell 3.0Win8/2012旧系统需安装。Windows 8/10/11及Server 2012自动化脚本编写。资源监视器运行resmon查看“网络”-“侦听端口”图形界面直观易用可实时查看网络流量支持搜索筛选。无法直接集成到纯命令行或自动化流程中。手动排查可视化分析端口与进程、网络活动关系。TCPView运行tcpview.exe功能最全的图形工具实时刷新颜色高亮变化可直接结束进程。需单独下载Sysinternals Suite。深度网络连接监控与分析需要观察连接动态变化。个人选择建议日常快速检查我习惯用PowerShell的Get-NetTCPConnection因为它命令最短信息够用。如果环境受限如老服务器则用netstat。不确定端口号需要浏览直接打开资源监视器排序或搜索一目了然。开发调试尤其是处理端口冲突时netstat -ano \| findstr :端口号配合tasklist \| findstr PID是肌肉记忆般的组合拳。网络问题深度排查打开TCPView它的实时性和全局视图无出其右。端口排查这项技能其价值远不止于解决“地址已在使用”的错误。它是你洞察系统网络行为、诊断应用连接问题、理解服务间通信的一把钥匙。从生疏到熟练你会发现很多复杂的网络问题其第一步的排查逻辑都万变不离其宗。下次再遇到端口相关的疑难杂症不妨先静下心来用上述方法清晰地摸清端口的“底细”问题往往就解决了一半。

相关新闻

Navicat Mac无限试用重置终极指南:轻松解决14天限制的完整教程

Navicat Mac无限试用重置终极指南:轻松解决14天限制的完整教程

Navicat Mac无限试用重置终极指南:轻松解决14天限制的完整教程 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还…

2026/10/20 14:49:50 阅读更多 →
ArcGIS 10.8 安装与配置全攻略:从环境准备到故障排查

ArcGIS 10.8 安装与配置全攻略:从环境准备到故障排查

1. 项目概述:为什么是ArcGIS 10.8? 如果你正在寻找一个稳定、功能全面且对硬件要求相对友好的桌面GIS平台,ArcGIS 10.8大概率会出现在你的候选名单前列。作为ArcGIS Desktop 10.x系列的最后一个版本,10.8在业界被许多人视为一个“…

2026/10/20 14:49:49 阅读更多 →
如何轻松导出微信聊天记录:WeChatMsg开源工具完全指南

如何轻松导出微信聊天记录:WeChatMsg开源工具完全指南

如何轻松导出微信聊天记录:WeChatMsg开源工具完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…

2026/10/20 15:40:33 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/21 9:32:40 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/21 9:32:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/21 9:32:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/21 9:32:40 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/21 9:32:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/21 9:31:32 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 16:24:48 阅读更多 →