rowrow Asked: 2009-06-20 04:07:33 +0800 CST2009-06-20 04:07:33 +0800 CST 2009-06-20 04:07:33 +0800 CST 自动发现如何工作? 772 当应用程序发现网络上的所有设备,然后将信息发送回某种资产管理系统时,它是如何工作的?我了解何时通过某种脚本在 PC 和服务器上运行 EXE 文件或其他程序。但是,未在设备上运行的软件如何找到有关设备的详细信息? autodiscovery 3 个回答 Voted Best Answer Evan Anderson 2009-06-20T04:14:20+08:002009-06-20T04:14:20+08:00 大多数“发现”软件使用 SNMP 来定位设备。其中一些软件使用各种方法(横幅消息识别、TCP/IP 堆栈指纹识别、MAC OID 查找)进行“指纹识别”以获得更多信息。假设您为“发现”提供必要的安全凭据,它可以使用 WMI 从 Windows 机器收集信息。 我怀疑您主要好奇的是 SNMP。你可以查看维基百科的链接,所以我不会在这里发布。如果您将设备组上的社区名称保留为默认值(对于阅读社区来说通常是“公共”),那么软件似乎可以“学习”有关设备的信息似乎相当神奇。实际上,它只是查询一个文档化的接口。 Russell Heilling 2009-06-20T05:09:57+08:002009-06-20T05:09:57+08:00 有很多方法可以做到这一点。除了之前回答中提到的 SNMP 之外,还有诸如 CDP(在 cisco 网络中)和 LLDP(类似于 CDP 但多供应商。尚未在设备中得到广泛支持)之类的协议,它们将允许网络设备来检测与其连接的设备,然后可以通过SNMP或登录设备等方法进行查询。 CDP 可用于补充 SNMP 发现的一个示例是在交换网络中。如果您只是简单地遍历交换机的 ARP 表以查找其所有邻居,您只会发现最近发送或接收 IP 流量的设备。在纯 L2 交换机网络中,不会有太多(如果有的话)交换机间 IP 流量,因此该表将不完整。同样,如果您遍历交换机的 MAC 地址表,您将只能通过转发链路发现设备。即使没有 IP 流量,CDP 也会发现邻居交换机,并且还会检测处于阻塞状态的端口上的邻居,因此这将允许您发现所有链路。 还有一些工具,例如 nmap,它会扫描一系列地址,并可以对收到的回复执行一些诊断,以猜测设备的操作系统。 大多数方法不是全自动的,需要定义许多“种子”主机来开始发现。 Joseph Kern 2009-06-20T06:23:33+08:002009-06-20T06:23:33+08:00 但是,未在设备上运行的软件如何找到有关设备的详细信息? 实际上,SNMP 正在这些系统上运行。这就是信息如何传递到您的监控软件的方式。SNMP 是公认的设备信息共享标准。监控程序会查看您的设备(在发现期间),然后尝试连接到每台设备上的 SNMP 服务。连接后,监控软件使用一小组命令:SET、GET、GETNEXT 等来查询设备的 MIB。 正是通过重复查询,在监控应用程序上构建了图表。监控应用程序(Zenoss、Munin、Nagios、SCOM 等)使用数据库和报告结构根据您的设置进行跟踪和警报。
大多数“发现”软件使用 SNMP 来定位设备。其中一些软件使用各种方法(横幅消息识别、TCP/IP 堆栈指纹识别、MAC OID 查找)进行“指纹识别”以获得更多信息。假设您为“发现”提供必要的安全凭据,它可以使用 WMI 从 Windows 机器收集信息。
我怀疑您主要好奇的是 SNMP。你可以查看维基百科的链接,所以我不会在这里发布。如果您将设备组上的社区名称保留为默认值(对于阅读社区来说通常是“公共”),那么软件似乎可以“学习”有关设备的信息似乎相当神奇。实际上,它只是查询一个文档化的接口。
有很多方法可以做到这一点。除了之前回答中提到的 SNMP 之外,还有诸如 CDP(在 cisco 网络中)和 LLDP(类似于 CDP 但多供应商。尚未在设备中得到广泛支持)之类的协议,它们将允许网络设备来检测与其连接的设备,然后可以通过SNMP或登录设备等方法进行查询。
CDP 可用于补充 SNMP 发现的一个示例是在交换网络中。如果您只是简单地遍历交换机的 ARP 表以查找其所有邻居,您只会发现最近发送或接收 IP 流量的设备。在纯 L2 交换机网络中,不会有太多(如果有的话)交换机间 IP 流量,因此该表将不完整。同样,如果您遍历交换机的 MAC 地址表,您将只能通过转发链路发现设备。即使没有 IP 流量,CDP 也会发现邻居交换机,并且还会检测处于阻塞状态的端口上的邻居,因此这将允许您发现所有链路。
还有一些工具,例如 nmap,它会扫描一系列地址,并可以对收到的回复执行一些诊断,以猜测设备的操作系统。
大多数方法不是全自动的,需要定义许多“种子”主机来开始发现。
实际上,SNMP 正在这些系统上运行。这就是信息如何传递到您的监控软件的方式。SNMP 是公认的设备信息共享标准。监控程序会查看您的设备(在发现期间),然后尝试连接到每台设备上的 SNMP 服务。连接后,监控软件使用一小组命令:SET、GET、GETNEXT 等来查询设备的 MIB。
正是通过重复查询,在监控应用程序上构建了图表。监控应用程序(Zenoss、Munin、Nagios、SCOM 等)使用数据库和报告结构根据您的设置进行跟踪和警报。