记一次1083端口被占用还找不到被谁占用的问题

由 月琳 发布
  | 2326 次浏览

前言

Windows10系统,某次开机打开v2ray,弹出fatal error:cant bind to 0.0.0.0:1083,这端口被占用直接再起不能。按常理来讲问题就要从端口被谁占用入手,但比较奇怪netstat中并没有1083端口的占用情况。

注:所有的命令均在管理员权限下的CMD、PowerShell或终端运行。

查找问题所在

首先打开命令行,这里使用的是Powershell,输入netstat -aon|findstr 1083回车,但是啥反馈信息都没有。再输入netstat -ano手动查找这个1083端口,还是没找到端口信息。

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

PS C:\WINDOWS\system32> netstat -aon|findstr 1083
PS C:\WINDOWS\system32>

这就有点奇怪了,没有端口占用信息但端口却无法使用,那么接下来重置TCP/IP和Winsock试试看。

继续输入命令执行:

netsh interface ipv4 reset
netsh interface ipv6 reset
netsh winsock reset

执行完毕后重启电脑,但是重启之后发现端口依然无法使用,并且再次使用netstat查看1083端口信息依然是空白。

解决

一阵折腾和搜索引擎查找,最后发现是Hyper-V搞的锅。

解决方法就是关闭Hyper-V,方法很简单,两种任选其一:

  • 方法一:在终端中输入命令dism.exe /Online /Disable-Feature:Microsoft-Hyper-V后重启即可。
  • 方法二:打开控制面板—程序—启用或关闭Windows功能,将Hyper-V前面的勾去掉,确定后重启即可。

之后再打开v2ray,正常运行不会再弹窗了。

在这里突然想到之前netstat找不到1083端口信息,那么现在关闭Hyper-V后还能不能看到呢?输入netstat -ano | findstr 1083命令:

PS C:\WINDOWS\system32> netstat -ano | findstr 1083
  TCP    0.0.0.0:1083           0.0.0.0:0              LISTENING       3672
PS C:\WINDOWS\system32>

可以看到1083端口正在被v2ray使用,属于正常情况,不过到此依然不理解Hyper-V占用了我的1083端口为什么在netstat中没有显示。

既然如此暂时就关闭Hyper-V吧,反正自己也不用它。

其他

另附一些常用命令:

  • 查看系统保留的端口:netsh interface ipv4 show excludedportrange protocol=tcp

版权属于:月琳cc
本文链接:https://kerrinz.com/archives/374.html
作品采用《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议》进行许可,转载请务必注明出处!

暂无评论

发表评论