记录一个端口监听失败问题

2022-05-18 11:46:19 浏览数 (1)

最近,一打开v2ray.exe就闪退,日志文件里也没有记录到错误信息,试了好久都找不到具体原因。后面尝试在控制台打开v2ray.exe,才发现具体的错误信息,然后问题也顺利解决了。

打开CMD控制台,转到v2ray所在目录,然后执行下面的命令

代码语言:javascript复制
# .v2ray.exe

命令执行后,提示以下错误信息

代码语言:javascript复制
V2Ray 4.21.3 (V2Fly, a community-driven edition of V2Ray.) Custom
A unified platform for anti-censorship.
Failed to start v2ray.com/core/app/proxyman/inbound: failed to listen TCP on 1080 > v2ray.com/core/transport/internet: failed to listen on address: 0.0.0.0:1080 > listen tcp 0.0.0.0:1080: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

大概意思是

代码语言:javascript复制
启动失败:无法监听TCP 1080端口,无法监听0.0.0.0:1080地址,无权访问socket

找了下资料,得到的信息很少,尝试把0.0.0.0换成127.0.0.1也不行。然后想,是不是端口被占用了,执行netstat -ano|findstr ":1080",也没有找到被谁占用,但还是尝试换了个端口,竟然没有问题了。

虽然问题解决了,但原因没找到,这就很纳闷了。一直到家里的电脑突然也出现了同样的问题以后,仔细想想,才知道是什么导致了的。 原来是我装了Hyper-V,导致1080端口被系统保留了,真是操蛋了~

用下面这命令在控制台执行,可以查看系统保留的tcp端口

代码语言:javascript复制
netsh interface ipv4 show excludedportrange protocol=tcp

用下面这命令在控制台执行,可以查看系统保留的udp端口

代码语言:javascript复制
netsh interface ipv4 show excludedportrange protocol=udp

如果确实解决不了系统保留的问题,我们就只能改端口了,改成系统保留范围外的端口。

0 人点赞