Перечисление «компьютеров, похожих на меня» в моей подсети?

Перечисление «компьютеров, похожих на меня» в моей подсети?

У нас есть сетевой продукт на базе Linux (назовем его «Z»), и мы, как правило, продаем их партиями, чтобы все они работали в одной подсети, выполняли одни и те же задачи и передавали данные на один сервер (также в подсети), который их всех координирует.

Устройства работают под управлением собственной версии Linux на базе ядра 2.6.

Меня попросили рассмотреть возможность добавления следующей функции:

«Любое устройство Z должно иметь возможность находить другие устройства Z в локальной подсети и перечислять их адреса IPv4. Список долженнетвключить другие несвязанные компьютеры, присутствующие в локальной подсети».

Пример:

  • Пользователь может sshвойти в любой произвольный блок Z и выполнить команду (может быть новый скрипт bash) под названием «listLocalSiblings».
  • Устройство Z исследует локальную сетевую среду и выведет простой текстовый список IP-адресов ТОЛЬКО других устройств Z...

192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.30
192.168.1.37
192.168.1.71

В подсети может быть несколько не связанных между собой устройств, работающих под управлением различных операционных систем. Я бы хотел, чтобы это было максимально пассивно (например, избегать сканирования портов или наличия слушателя, ожидающего и отвечающего на специальные "пинги").

Есть лиобщийспособ в Linux категоризировать сетевые устройства?

У меня есть роскошь добавлять новое программное обеспечение в продукт, но если есть способ сделать это на основе какой-то внутренней сигнатуры, которая может быть у каждой машины, это было бы предпочтительнее. Мы никогда не пытались заставить эти машины «видеть» друг друга без фактического жесткого кодирования путей для их нахождения друг друга.

Редактировать: по разным причинам мы не можем получить эту информацию с сервера. На данный момент предположим, что сервер вышел из строя или кабель Ethernet был выдернут из задней части.

Затем список отображается пользователю, и он может распоряжаться им по своему усмотрению.

Устройства Z имеют примерно одинаковое аппаратное обеспечение, хотя более старые модели, как и ожидалось, имеют более старые версии системы Linux, а также более старые материнские платы и сетевые карты.

В идеале было бы неплохо просто разместить bash-скрипт на каждом устройстве и запустить его, но я недостаточно разбираюсь в сетевых инструментах, чтобы сказать, реалистична ли эта перспектива.

решение1

сканировать с помощью nmap, или отправлять широковещательные пакеты с помощью nc, или использовать NetBIOS, или злоупотреблять таблицей маршрутизации или пакетами ARP.

Существует множество типов сетевого трафика, которые можно использовать без активации системы обнаружения вторжений.

Связанный контент