没有确定性的方法,但是您可以寻找大量线索。
- 映射它。nmap 可以为您正在通话的任何设备的操作系统提供一些线索。如果它说 BSD 并且 url 以 .aspx 结尾,那么你就知道了。
- cookie:许多负载均衡器添加(或可以添加)会话 cookie。如果你登陆 F5 支持论坛,中提琴,寻找任何奇怪的并用谷歌搜索它们。
- 各种其他标题:很多'em 根据项目是否被缓存(以及其他原因)等内容添加标题。寻找任何有趣的标题并用谷歌搜索它们。
- 在页面上或隐藏在 html 注释中,开发人员通常会添加“由 web7 提供服务”以帮助他们进行故障排除。
- 从多个不同的 ip 快速请求相同的内容并比较 ETag 标头。默认情况下,Apache 将 etag 建立在文件系统 inode 上,并且很多管理员从来没有考虑过调整它,所以如果您看到相同内容的不同 Etag,您可以猜测它来自不同的服务器(仅适用于 apache,仅适用于如果未调整,则仅适用于非共享文件系统)。
老实说,我只希望所有这些都能给你一个有意义的答案,比如 4 次,但总的来说,除非凯瑟琳说“出了点问题”,否则你无法真正知道。
编辑:如果不是不可能(不喜欢那个词),这将是非常困难的,因为拥有 LoadBalancer 的全部意义在于使客户端与它的交互透明且基本上不可见。话虽如此,这是我的原始帖子:
我为一个相当大的站点管理负载平衡器。我们的访问者认为他们正在访问任何特定应用程序服务器的唯一迹象是我们实际上将服务器的特定名称放在他们的登录页面底部。这有助于我们解决他们遇到的问题。
除此之外,我只能想到一件事,如果我们不遵循该政策,它会“关键”您进入我们正在运行负载平衡器的事实。这是你可以判断的方法,但这需要一些运气。
假设负载平衡器设置为将所有流量转发到一台服务器或另一台服务器。或者至少它将一台服务器之间的 ssh 流量转发到另一台服务器。即使您可能没有登录凭据来登录任何一个框,但如果您尝试登录,两者都会为您提供不同的密钥。因此,如果您第一次尝试通过 ssh 登录,系统会询问您是否你想接受钥匙。然后,如果您在第二次或第三次请求时很幸运,您会被告知有一个不同的钥匙(即另一个盒子)。在 *nix 系统上,您经常会收到警告,这可能是由于中间人攻击所致。
所以有两件事必须到位:
因此,如果您在相对较短的时间内获得两个密钥,您可能会假设系统管理员没有更改它们,而是您刚刚与负载平衡器后面的两台独立机器进行了通信。
注意:还有一个项目,但它是在黑暗中的真实镜头。您可以尝试找出该服务器与哪个 IP 块分组。然后假设在这些特定 IP 地址之一上放置在 LB 上(实际上它位于这些 IP 之一上)。
例如,负载均衡器放置在 XXX.XXX.XXX.5。然后将设置 LB 以捕获至少一个额外 IP 地址的所有流量。它通常不会转发 XXX.XXX.XXX.5 的流量(我拥有的商业硬件绝对不会这样做)。因此,您可以指望存在和管理地址。
如果将 LB 设置为允许来自所有外部主机的管理员,您可以将 /admin 之类的内容附加到 IP 地址,直到找到 LB。这假设 LB 使用该路径进行管理。