排查 SSH 客户端无法绑定转发端口的问题(Windows)

问题现象

在 Windows 10 中,使用 Bitvise SSH Client 配置本地代理转发端口(127.0.0.1:10800)时失败,报错:

Could not enable SOCKS/HTTP proxy forwarding on 127.0.0.1:10800: Address is already in use; bind() failed: Windows error 10013

排查步骤与命令记录

1. 检查是否有进程监听 10800(无结果)
# PowerShell 方式
Get-NetTCPConnection -LocalPort 10800 | Select-Object OwningProcess

# 或使用 netstat(CMD/PowerShell 均可)
netstat -ano | findstr :10800

→ 无输出,说明没有常规 TCP 监听。

2. 检查是否有隐藏的端口转发规则
netsh interface portproxy show all

→ 无输出,排除 portproxy 占用。

3. 使用 Process Explorer 深度扫描(GUI 工具)
  • 下载 Process Explorer
  • 以管理员身份运行 → Ctrl+F → 搜索 10800
    → 未发现任何句柄或线程绑定。
4. 关键一步:检查 Windows “排除端口范围”
netsh int ipv4 show excludedportrange protocol=tcp

输出示例(问题存在时):

开始端口    结束端口
----------    --------
     10745       10844   ← 10800 被包含在此区间!
     10845       10944
     ...

结论:端口 10800 被 Windows NAT 服务动态保留,普通程序无法绑定。


解决方案:重启 winnat 服务重置端口预留

适用于个人开发机,不影响日常使用。若使用 WSL2/Docker,操作后可能需重启相关服务。

# 以管理员身份运行 PowerShell

# 停止 Windows NAT Driver
net stop winnat

# 启动 Windows NAT Driver(会重建排除范围,通常大幅缩小)
net start winnat
验证是否生效:
netsh int ipv4 show excludedportrange protocol=tcp

正常输出(问题解决后):

开始端口    结束端口
----------    --------
        80          80
      5357        5357
     50000       50059     *

10745–11144 的“端口块” 范围已消失,这样所需的 10800 就可用了!


验证
  1. 重新连接 SSH,并启用本地代理转发到 127.0.0.1:10800
  2. 成功启动,无报错!

总结

问题根源Windows 自动将一些 端口段 加入“排除端口范围”
表象报“Address already in use”,但 netstat 查不到
核心命令netsh int ipv4 show excludedportrange protocol=tcp
快速修复net stop winnat && net start winnat

(Qwen3-Max 帮助整理文档与格式)

Windows 10 简体中文补充字体 无法添加 0x80070490

最近系统持续多次出现,通知中心出现一个图标带“字”的通知,提示安装失败的通知。点击会打开设置,也不知道要作甚吗。一番查阅后才解决:

简体中文补充字体 (Chinese (Simplified) Supplemental Fonts) 安装失败的问题,验证,在 设置→系统→可选组件 中找不到简体中文补充字体。

  1. 先以管理员模式打开CMD命令行,进入 Powershell : powershell.
  2. 获取组件名称: Get-WindowsCapability -online -name *fonts* | ft Name, DisplayName, Description 可以得知名称为 Language.Fonts.Hans~~~und-HANS~0.0.1.0
  3. 再确认下该组件的状态: Get-WindowsCapability -online -name Language.Fonts.Hans~~~und-HANS~0.0.1.0 可得知状态是 Superseded (State : Superseded)
  4. 删除该组件: Remove-WindowsCapability -Online -Name Language.Fonts.Hans~~~und-HANS~0.0.1.0
  5. 重新安装该组件Add-WindowsCapability -Online -Name Language.Fonts.Hans~~~und-HANS~0.0.1.0

看到 State : Installed (已安装)

在 设置 → 系统→ 可选组件 中,可看到 “简体中文补充字体” 已添加。

重启系统完成。