在我的子网上列出“像我这样的计算机”?

在我的子网上列出“像我这样的计算机”?

我们有一个基于 Linux 的网络产品(称之为“Z”),我们倾向于批量销售它们,以便它们都在同一子网上运行,执行相同类型的操作并将数据报告回单个服务器(也在同一台服务器上)。子网)来协调它们。

这些设备运行基于 2.6 内核的定制自制版本 Linux。

我被要求研究添加以下功能的可能性:

“任何 Z 单元必须能够找到本地子网上的其他 Z 单元并列出它们的 IPv4 地址。该列表必须不是包括本地子网上存在的其他不相关的计算机。”

一个例子:

  • 用户可以ssh进入任意 Z 单元并发出名为“listLocalSiblings”的命令(可以是新的 bash 脚本)。
  • Z 单元将调查本地网络附近并仅输出其他 Z 单元的 IP 地址的简单文本列表...

192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.30
192.168.1.37
192.168.1.71

子网上可能存在多个运行不同操作系统的不相关设备。我希望这尽可能被动(例如,避免端口扫描或让侦听器等待并响应特殊的“ping”)。

有没有通用的Linux下如何对网络设备进行分类?

我确实有能力向产品添加新软件,但如果有一种方法可以基于每台机器可能具有的某种内在签名来做到这一点,那就更好了。我们以前从未尝试过让这些机器“看到”彼此,而没有实际硬编码路径让它们找到彼此。

编辑:由于各种原因,我们无法从服务器获取此信息。现在,假设服务器已崩溃或以太网电缆已从服务器背面拔出。

然后,该列表将显示给用户,供她按照自己的意愿进行处理。

Z 设备的硬件大致相同,尽管较旧的设备具有较旧版本的 Linux 系统以及较旧的主板和网卡(正如您所期望的那样)。

理想情况下,最好在每个单元上放置一个 bash 脚本并运行它,但我对网络工具了解不够,不知道这是否是一个现实的前景。

答案1

使用nmap扫描,或者使用nc发送广播数据包,或者使用NetBIOS,或者通过滥用路由表或ARP数据包。

有许多现有的网络流量类型可以在不触发 IDS 的情况下使用。

相关内容