【问题标题】:How to change/view the ephemeral port range on Windows machines?如何更改/查看 Windows 机器上的临时端口范围?
【发布时间】:2011-10-23 19:56:37
【问题描述】:

在 Linux 中,我可以使用 /proc/sys/net/ipv4/ip_local_port_range 文件查看或更改临时端口范围。

如何查看或更改 Windows 机器上的临时端口范围?

【问题讨论】:

    标签: windows networking range port


    【解决方案1】:

    http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html#Windows 说:

    根据 Microsoft 知识库文章 929851,从 Windows Vista 和 Windows Server 2008 开始,Windows 现在默认使用较大范围 (49152-65535)。同一篇文章还展示了如何根据需要更改范围,但默认范围现在对于大多数服务器来说已经足够了。

    对于较旧的 Windows 操作系统(Windows XP 和较早版本),Windows 使用传统的 BSD 范围 1024 到 4999 作为其临时端口范围。不幸的是,您似乎只能设置临时端口范围的上限。以下信息摘自 Microsoft 知识库文章196271

    • 启动注册表编辑器 (Regedt32.exe)。
    • 在注册表中找到以下项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • 在编辑菜单上,单击添加值,然后添加以下注册表值:

      Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534 <for example>

      有效范围:5000-65534(十进制)默认值:0x1388(十进制5000)

      说明:此参数控制应用程序向系统请求任何可用用户端口时使用的最大端口号。通常,临时(即短期)端口分配在 1024 和 5000 之间(含)。

    • 退出注册表编辑器。

    注意:还有另一篇相关的知识库文章 (812873) 声称允许您设置排除范围,这可能意味着您可以排除端口 1024-9999(例如)以使临时端口范围为 10000 -65534。但是,我们还不能让它工作(截至 2004 年 10 月)。

    【讨论】:

      【解决方案2】:

      版本 > Windows Server 2003 不支持 ReservedPorts。

      有一个修补程序可以通过 netsh 添加缺少的功能。

      http://support.microsoft.com/kb/2665809

      【讨论】:

        【解决方案3】:

        这是一个老问题,似乎在较新的 Windows 版本中答案已经发生了变化(我不确定具体是哪一个)。

        netsh int ipv4 show dynamicport tcp
        

        在我的 Windows 10 电脑上,它显示:

        Protocol tcp Dynamic Port Range
        ---------------------------------
        Start Port      : 49152
        Number of Ports : 16384
        

        改变它,例如:

        netsh int ipv4 set dynamicport tcp start=49200 num=16000
        

        【讨论】:

          猜你喜欢
          • 2019-05-29
          • 2015-04-18
          • 1970-01-01
          • 1970-01-01
          • 2022-01-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-17
          相关资源
          最近更新 更多