Windows 下特殊的“应用无法绑定特定端口”问题成因及解决方案 (端口被系统动态保留)

今天开机以后遇到一个神奇的问题(已解决,系统动态保留了)

解决方案:

# 查看端口占用:
netstat -ano | findstr [port] # cmd
Get-NetTCPConnection -LocalPort [port] # powershell
# 查看保留端口
netsh int ipv4 show excludedportrange protocol=tcp

# 取消保留
net stop winnat # 停止 Windows NAT 服务。
net start winnat # 启动 Windows NAT 服务。

来源: vue 项目启动 报错 Error: listen EACCES: permission denied 127.0.0.1:xxx - 虚拟式 - 博客园

Openlist 突然无法正常使用 5244 端口进行服务,但是正常启动无报错





image

切换至 5244 附近端口 (5245 5250)均无法正常访问

切换至 5344 恢复正常,还有什么方法排查占用么

3 个赞


GitHub - pranshuparmar/witr: Why is this running?

2 个赞

可以试一下witr这个工具,支持对pid和端口的详细溯源

1 个赞

这个工具不错,但是这就很神奇,当在 5344 端口运行的时候,明确看到 5244 附近无占用

切换到 5244 后,依然无占用

换端口,重启机器,再换回来看看是否可以,对未知问题最后的退路 :joy:

是的,我现在就是换端口在用,重启也大概率能解决问题,但就是好奇是什么原因导致的。以前没见过这么神奇的情况。幽灵端口? :rofl:

交给ai读日志,一般都能解决很多问题

完全关闭浏览器,然后再次尝试启动呢

2 个赞

没有日志,没有报错

与浏览器无关的。nmap扫不出来,其他命令也看不到端口打开

看你是Windows,之前用Windows的就遇到过一个神奇的bug,浏览器不断尝试连接本地的某个端口,导致此端口无法被监听……

你可以用system informer看看什么程序尝试连接5244

2 个赞

好神奇的问题! 重启能不能解决,我很好奇! :joy:

没有,现在只有 5344 (openlist正运行在这个端口)

检查remote port 为5244的呢?

2 个赞

使用其他项目测试了一下,原来是 openlist 没报错,其他程序是会报错的

没有的,listen 和 remote 都没有 5244

@here 破案了,因为某种莫名其妙的原因,被系统设为动态保留端口了

Windows端口不可用:Error:listen EACCES:permission denied 0.0.0.0:5200 - 知乎

3 个赞

印象中我也遇到过,反正就是让codex重置到默认就好了

是的,帖子里说了下重置的命令。第一次遇到这个问题,感觉还是有点神奇的(无法绑定,没有报错[openlist出列!],还查不到占用)