如何修复 Windows 11 和 10 中的端口耗尽
端口耗尽是一个常见的网络问题,可能会严重影响 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 中的端口耗尽问题。请记住,虽然这些解决方案可以立即缓解问题,但解决根本原因(通常是应用程序未正确关闭连接)对于长期系统健康和网络性能至关重要。
