即使端口上没有任何东西,也无法使用

即使端口上没有任何东西,也无法使用

我的 Windows 10 计算机一直处于无法使用许多端口的状态,但当我尝试查找并终止正在使用该端口的程序时,却找不到任何东西。重新启动计算机可以解决问题并释放端口,但最终问题总会再次出现。现在它发生在端口 3000 上,当我尝试在其上运行任何内容(例如 Python 或 ExpressJS 中的 Web 服务器)时,我都会收到这些错误:

python -m http.server 3000

OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

node app.js

Error: listen EACCES: permission denied 0.0.0.0:3000
code: 'EACCES',
errno: -4092,
syscall: 'listen',
address: '0.0.0.0',
port: 3000

但这不仅仅是端口 3000。以下代码片段在从 3000 到 3166 的每个端口上都失败(然后在 3167 上成功运行)

for ((i=3000;i<=4000;i++)); do
    python -m http.server 3000
done

java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind我在许多不同的端口上遇到了同样的问题,只能通过重新启动计算机来解决它,另一个例子是 PyCharm在尝试绑定 6942 和 6991 之间的任何端口时无法启动并给出错误。

我如何才能找出导致我的端口停止工作的原因并解决这个问题?

以下是我迄今为止尝试过的方法:

  • netstat -ano | findStr "3000"不返回任何内容
  • netsh interface ipv4 show excludedportrange | findStr "3000"不返回任何内容
  • PowerShellGet-NetTCPConnection -LocalPort 3000返回No MSFT_NetTCPConnection objects found with property 'LocalPort' equal to '3000'
  • resmon.exeListening PortsTCP Connections
  • TCPView端口 3000 上没有显示任何内容
  • 检查端口是否打开此片段
  • 禁用 Windows Defender 实时保护和防火墙(并且我没有其他防病毒软件)
  • 浏览时,Control Panel\System and Security\Windows Defender Firewall -> Advanced Settings只有列Allow下的项目Action
  • 使用 Wireshark 监视端口 3000-3126 上的任何 TCP 活动,没有发现任何活动
  • 使用 Malwarebytes、Kaspersky、ESET、HitmanPro 扫描了我的计算机

我很茫然,除了重新安装 Windows 10 之外想不出其他任何办法。任何建议都值得感激。

答案1

在这里找到了解决方案:https://stackoverflow.com/a/62359555/3620725

netsh int ipv4 set dynamic tcp start=49152 num=16384

相关内容