Networking 在VM上检测冲突的转发端口

Networking 在VM上检测冲突的转发端口,networking,virtualbox,Networking,Virtualbox,我正在Windows上使用Oracle VirtualBox。我已经设置了NAT和转发端口 当某些转发端口意外与主机的端口冲突时,不会显示任何错误,并且所有转发端口都会失败 是否有可能检测到这些冲突端口?我使用了VBoxManage工具,并且startvm命令既没有输出消息,也没有详细模式 谢谢我建议结合使用netstat和VBoxManage并解析输出。在非Windows主机上,您可以轻松地将findstr命令替换为grep 首先,我会得到有关VM上NAT端口的列表。vboxmanagesho

我正在Windows上使用Oracle VirtualBox。我已经设置了NAT和转发端口

当某些转发端口意外与主机的端口冲突时,不会显示任何错误,并且所有转发端口都会失败

是否有可能检测到这些冲突端口?我使用了VBoxManage工具,并且
startvm
命令既没有输出消息,也没有详细模式


谢谢

我建议结合使用
netstat
VBoxManage
并解析输出。在非Windows主机上,您可以轻松地将
findstr
命令替换为
grep

首先,我会得到有关VM上NAT端口的列表。
vboxmanageshowvminfo
命令将输出一组有关配置的信息,您可以对这些信息进行筛选以仅查找NAT规则。您需要在输出中查找主机端口和协议字段(如果配置了主机ip,可能还需要查找主机ip),因为您需要查看它是否已经在使用中

C:\>vboxmanage showvminfo Linux  | findstr Rule
NIC 1 Rule(0): protocol=tcp, host ip=, host port=2222, guest ip=, guest port=22
Second,使用上面的信息,我知道我需要检查端口TCP端口2222上是否有任何内容正在侦听,因此我可以使用
netstat
命令显示所有侦听套接字,并根据我的条件进行筛选:

C:\>netstat -an | findstr LISTENING | findstr TCP | findstr 2222
Proto  Local Address          Foreign Address        State
TCP    0.0.0.0:2222           0.0.0.0:0              LISTENING
因为我的客户机已经在运行,所以我可以看到它已经在TCP 2222上建立了连接。如果您没有得到任何输出,那么该特定端口上没有任何内容正在侦听,您可以安全地启动VM