厦门网站建设公司推荐,密云网站建设,wordpress加入链接,网站个人和公司有什么区别是什么TOC
一、问题
重启电脑后#xff0c;启用某个服务显示1089端口被占用。 查看是哪个进程占用了#xff1a;
netstat -aon | findstr 1089没有输出#xff0c;但是换其他端口#xff0c;是可以看到相关进程的#xff1a; 现在最简单的方式是给我的服务指定另…TOC
一、问题
重启电脑后启用某个服务显示1089端口被占用。 查看是哪个进程占用了
netstat -aon | findstr 1089没有输出但是换其他端口是可以看到相关进程的 现在最简单的方式是给我的服务指定另一个端口其次是重启电脑。
但前面的问题可能还会出现。
二、原因和解决方案
2.1 原因
原因是Windows动态端口分配错误这应该是一个Bug你有时重启电脑会遇到有时又是正常的。
动态端口是指那些不固定分配给特定服务而是由系统动态分配给需要网络通信的应用程序的端口。
关于动态端口可以在微软官网找到一些文档
排查端口耗尽问题
Windows 服务概述和网络端口
自 Windows Vista 和 Windows Server 2008 以来TCP/IP 的默认动态端口范围已更改
TCP 和 UDP 协议基于用于建立连接的端口号工作。 需要建立 TCP/UDP 连接的任何应用程序或服务都需要其端的端口。
有两种类型的端口
临时端口动态端口是默认情况下每台计算机必须建立出站连接的端口集。已知端口是特定应用程序或服务的已定义端口。 例如文件服务器服务位于端口 445 上HTTPS 为 443HTTP 为 80RPC 为 135。 自定义应用程序还将具有自己定义的端口号。
为了遵守 Internet 分配号码机构 (IANA) 建议Microsoft 增加了传出连接的动态客户端端口范围。 新的默认启动端口为 49152新的默认结束端口为 65535 在 Windows Server 2008 和更高版本以及 Windows Vista和更高版本中 。 此增加是从使用默认端口范围 1025 到 5000 的早期版本的 Windows 的配置所做的更改。 查看电脑的动态端口范围命令中ipv4可以换成v6tcp也可以画出udp总共4中组合
netsh int ipv4 show dynamicport tcp 可以看到有的类型端口范围是不对的我是Windows11 24H2当然23H2的时候也遇到过这个问题。
再查看被系统保留的端口现在不可用
netsh int ipv4 show excludedport tcp2.2 解决
重新设置动态端口的范围。
起始端口设置为49152终止不要超过65535即可。
建议给tcp、udp、v4、v6都设置一下。
命令格式
netsh int ipv4|ipv6 set dynamic tcp|udp startnumber numrange比如
netsh int ipv4 set dynamicport tcp start49152 num10000netsh int ipv4 set dynamicport udp start49152 num10000netsh int ipv6 set dynamicport tcp start49152 num10000netsh int ipv6 set dynamicport udp start49152 num10000命令需要以管理元身份打开命令行运行。我是Windows 11 24H2在命令前面加个sudo即可。
现在虽然已经修改了动态范围但还需要重启电脑因为之前已经有一些动态端口被系统服务保留了比如Hyper V。
重启后再查看: