如何修复 Windows 11 和 10 中的端口耗尽

Jacki

端口耗尽是一个常见的网络问题,可能会严重影响 Windows 11 或 10 系统建立新连接的能力。当所有可用的 TCP 或 UDP 端口都在使用中时,会出现此问题,从而阻止应用程序通过网络进行通信。让我们探讨如何识别和解决端口耗尽问题,以保持系统平稳运行。

识别端口耗尽症状

在深入研究解决方案之前,识别端口耗尽的迹象至关重要:

  • 无法使用域凭据登录,而本地帐户登录有效。
  • 由于明显缺乏网络连接,组策略更新失败。
  • 无法访问文件共享或网络驱动器。
  • 远程桌面与服务器的连接失败。
  • 事件查看器日志显示 TCP 事件 ID 4227 或 4231,表明动态端口分配失败。
  • Netstat 命令显示特定应用程序的大量 TIME_WAIT 状态条目。

使用 Netstat 诊断端口耗尽

步骤一:右键单击“开始”按钮并选择“Windows 终端(管理员)”或“命令提示符(管理员)”,打开提升的命令提示符。

步骤2:执行以下命令查看活跃连接和监听端口:

netstat -anobq

步骤3:查找具有大量 BOUND 条目的进程,这可能表明端口耗尽。

对于PowerShell用户,可以使用以下命令进行更详细的分析:

Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Select -Property Count, Name, @{Name="ProcessName";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).Name}}, Group | Sort Count -Descending

此命令按状态和进程对连接进行分组,帮助您识别哪些应用程序正在使用最多的端口。

使用任务管理器识别端口密集型应用程序

步骤一:按打开任务管理器Ctrl + Shift + Esc

步骤2:单击“详细信息”选项卡。

步骤3:右键单击任何列标题并选择“选择列”。

第4步:选中“句柄”旁边的框,然后单击“确定”。

第5步:单击“句柄”列可按句柄计数对进程进行排序。

参见:如何修复 Windows 11/10 上的 USB-C 端口问题

具有超过 3000 个句柄的应用程序可能会导致端口耗尽。但是,请谨慎对待系统服务,因为它们自然会使用更多句柄。

利用 Process Explorer 进行详细分析

Process Explorer 是 Sysinternals 套件的一部分,可以更深入地了解进程行为:

步骤一:下载并使用管理员权限运行 Process Explorer。

步骤2:右键单击列标题并选择“选择列”。

步骤3:在“进程性能”选项卡中,添加“处理计数”。

第4步:从“视图”菜单中,选择“显示下部窗格”,然后选择“手柄”。

第5步:按句柄计数降序对进程进行排序。

第6步:检查句柄数较高的进程,重点关注具有“File DeviceAFD”条目的进程,这些条目通常代表网络套接字。

解决端口耗尽问题

确定有问题的进程后,您可以采取措施解决端口耗尽问题:

步骤一:关闭占用过多端口的应用程序。如果问题仍然存在,您可能需要联系应用程序供应商进行修复。

步骤2:如果无法关闭应用程序,请考虑增加可用端口范围。在提升的命令提示符中使用此命令:

netsh int ipv4 set dynamicport tcp start=10000 num=1000

该命令将起始端口设置为 10000 并分配 1000 个端口。根据需要调整这些数字,请记住最小起始端口为 1025,最大结束端口为 65535。

步骤3:要快速修复,请重新启动受影响的计算机以释放所有端口。然而,这只是一个临时解决方案,并不能解决根本原因。

防止端口冲突

为了避免端口冲突,这可能会导致耗尽:

步骤一:使用以下命令提示符命令识别冲突端口:

netstat -an

步骤2:查看输出以查找已在使用的端口。

步骤3:修改您的应用程序设置以使用不同的未使用的端口以防止冲突。

通过执行这些步骤,您可以有效地诊断和解决 Windows 11 和 10 中的端口耗尽问题。请记住,虽然这些解决方案可以立即缓解问题,但解决根本原因(通常是应用程序未正确关闭连接)对于长期系统健康和网络性能至关重要。