了解加入特定域的计算机总数

了解加入特定域的计算机总数

我的问题听起来很简单。是否有任何工具可以知道网络中属于某个域的计算机总数?我使用nmap禅地图),然后查看 FQDN 以检查域名,但结果不准确,因为当我这样做时,有些计算机处于离线状态(关闭)。我说的是将近 1000 台计算机。

我需要任何能够主动扫描网络并将主机保存在数据库中的工具。因此,我使用了 AlienVault 的 OSSIM 一周,并将结果导出为 .csv 文件(包含所有计算机)。到目前为止,我都很好,但有一个问题,当计算机加入域时,域控制器会将计算机的名称与 IP 相关联,即使计算机“离开”网络也是如此。因此,当 OSSIM(或 nmap)询问 192.XYZ IP 的名称时,它会获取前一台计算机的名称。这导致认为新机器(具有前一台机器的 IP 地址)在域中,但实际上不在。如果我错了,请纠正我。所以我会将该机器算作域机器,并获取错误的加入域的计算机总数。

那么,有没有一种更技术性(不解析 FQDN)的方式来“询问”机器:您是否在“域名.net“域名?我只想“听到”是一个是的或者(来自机器)。

答案1

回答这个问题比看起来要难,因为一台机器是否“连接”可以有多种不同的解释。而你想要的答案取决于结果数据的用途。

从根本上讲,只要计算机具有可用于向域控制器进行身份验证的有效计算机帐户凭据,它就会加入域。

如果外部进程更改了该计算机帐户的密码、禁用了该帐户,或者只是将其从 AD 中删除,客户端计算机仍会认为它已加入,直到它尝试进行身份验证但无法再进行身份验证为止。因此,除非客户端实际以自己的身份成功执行身份验证以提供答案,否则您不能真正依赖客户端可靠地回答问题。在大型域中执行此操作也会浪费大量资源。

我需要任何能够主动扫描网络并将主机保存在数据库中的工具。

你很幸运。Active Directory 本身已经为你做了这件事。除其他事项外,它还会跟踪已加入其自身数据库的计算机。它甚至知道这些计算机上次成功通过身份验证的时间。如果您需要将这些数据导出到不同的数据库,那么只查询 Active Directory 中的数据比扫描整个网络要好得多。

有多种方法可以做到这一点,每种方法在时间准确性和难度方面各有利弊。查询任何 DC 的属性lastLogonTimestamp是最简单的方法,但准确性最低,因为设计方式。该lastLogon属性更准确,但您必须单独询问每个 DC 的值,并使用最新的值作为答案。如果您需要近乎实时的更新,它基本上需要处理所有 DC 的安全事件日志以记录发生的计算机登录事件。这通常涉及使用某种集中式事件日志收集服务。

相关内容