3

我正在尝试使用 Visual Studio 2010 Remote Debugging 来调试 Amazon ec2 云机器上的应用程序 [从这里称为 REMOTE] 并且无法使其正常工作。

0) 机器:本地运行 Windows 7 Pro-64 位远程运行 Windows Server 2008-R2 64 位

1)我有远程调试监视器和远程机器上的其他东西(我在远程调试方面有很多经验,通常在更简单的网络情况下)。我正在使用 64 位版本的 msvsmon.exe

2) 本地计算机的 Windows 防火墙设置为允许 devenv.exe 发送任何内容。

传入规则允许端口 TCP 135、UDP 500 和 4500

在本地和互联网之间,我们有:

本地路由器将 TCP 和 UDP 端口 1-1193 和 1195-48999 转发到本地

本地 Ooma 框将 TCP 和 UDP 端口 1-1193 和 1195-48999 转发到“本地路由器”

我已经用 tcping.exe 和端口 45678 测试了转发,并且可以正常工作,所以我知道路由器和 ooma 框的转发规则正在工作。

我已经在本地网络上测试了对另一台机器的远程调试,它工作正常。因此,如果 LOCAL 的防火墙出现问题,似乎只能是范围(私有/公共/域)。我们这里没有涉及域。据我所知,我已经检查了我查看过的每个防火墙规则中的所有 3 个框,所以我认为范围不是问题。虽然我想知道

3)EC2防火墙的安全组设置允许入站,我认为适用:TCP 135 TCP 139 TCP 445 TCP 4015 UDP 0-65535

4)在远程我创建了入站规则以允许:TCP 135、139、445 和 80 UDP 137、138、500、4500(尽管据我所知,我没有使用 IPSec)

5) 我还允许 msvsmon.exe 配置防火墙以在我启动它时允许来自任何机器的连接,这可能是多余的,但此时我正在尝试一切。

6) 在 msvsmon 的工具 > 选项中,我启用“无身份验证(仅限本机)”并选中“允许任何用户调试”。端口是 4015。

7) 在 LOCAL 上,我将 Transport 更改为“Remote (native only with no authentication)”。我将远程主机名放在限定符中。

然后,在 REMOTE 上,msvsmon 显示“Doug connected”。

伟大的!除了我什么都得不到。等待后,在本地我得到,“无法连接到 [主机名]。远程机器没有响应。”

8) 我无法远程关闭 msvsmon。我可以单击文件 > 退出,但 msvsmon 然后冻结。

REMOTE 上的 ProcessHacker 显示以下连接:msvsmon.exe (7364), [REMOTE Hostname], 3893, , , TCP, Listen, msvsmon.exe (7364), [REMOTE Hostname], 3894, , , TCP, Listen, msvsmon.exe (4232), [远程主机名], 3901, [远程主机名], 4015, TCP, 已建立, msvsmon.exe (7364), [远程主机名], 4015, , , TCP, 听, msvsmon.exe (7364), [远程主机名]、4015、[本地主机名]、58007、TCP、关闭等待、msvsmon.exe (7364)、[远程主机名]、4015、[远程主机名]、3901、TCP、已建立、

LOCAL ProcessHacker 显示:devenv.exe (4624), Ducky, 58175, [RemoteHost], 4015, TCP, FIN Wait 2,

如果我想要足够长的时间,LOCAL 上的“FIN Wait 2 连接”就会消失,但 REMOTE 上的“关闭等待”连接直到我终止 msvsmon 进程后才会消失。

9)所以似乎REMOTE正在尝试在不同的端口上联系LOCAL并且没有通过?或者...?

我真的没主意了。很明显,我在某个地方出了点问题。我已经尝试关闭本地和远程的 windows 防火墙并获得相同的结果。

4

1 回答 1

2

知道了。至少,我终于有了真正的联系。我仍然不知道是什么端口搞砸了。

我去了 Amazon EC2 并允许所有 TCP 端口通过。我早些时候尝试过,但是当我这样做时,我一定在其他地方遇到了问题。现在我需要找出阻止工作的端口。当我这样做时,我会在这里发布。

于 2013-11-14T18:00:04.573 回答