我有两台PC,需要从一台PC远程调试到另一台PC。根据ipconfig的信息,这些PC位于不同的企业网络上,作为开发人员,我无权访问该公司的交换机或路由器。尽管其他同事具有与我相同的设置,但是他们可以使用其测试PC进行远程调试,但我不能。 Windows和防病毒防火墙在我的两台PC上均关闭。
Visual Studio中的错误消息是:
“无法开始调试。VisualStudio 2017远程调试器 (MSVSMON.EXE)似乎没有在远程计算机上运行。 这可能是因为防火墙阻止了与 远程计算机。请参阅帮助以获取有关配置远程服务器的帮助 调试。”
我尝试过的事情:
从主机PC到远程PC的连接方式的摘要是Visual Studio 2017使用默认端口号(4022)向远程PC发送TCP请求。
奇怪的是,如果我将此端口更改为50000,我就可以连接。
我使用数据包分析器Wireshark从主机PC读取流量,并使用Wireshark的另一个实例读取远程PC上的流量。
当我启动Wireshark并使用端口50000进行远程调试时,能够看到来自主机的传出连接建立请求(SYN)。在远程PC上,我看到此请求进入,并且连接建立确认(SYN + ACK)消失了。很好。
但是,当我更新远程调试应用程序以使用默认端口4022并再次尝试数据包分析器时,区别在于我不再从远程PC中的主机PC接收任何连接建立请求(SYN)。也就是说,如果我使用端口4022,则主机PC将发送请求,而远程PC无法接收该请求。
我认为这意味着网络中的防火墙或访问控制列表阻止了往端口4022的传出tcp流量。
有什么我想念的东西吗?还是我的假设是正确的?