Автообнаружение устройства в сети IPv6 / IPv4 - PullRequest
3 голосов
/ 18 февраля 2010

У нас есть устройства Win CE IPv6 / IPv4, установленные в комнате и подключенные к сети. Время от времени человек приходил с ноутбуком, подключал его к сети и запускал программу диагностики.
Эта программа должна быть в состоянии автоматически найти или обнаружить все эти устройства. Проблема в том, что IP-адреса устройств неизвестны программе diag.

Я изучал локальное обнаружение IPv6, но я не совсем уверен, как это проверить.

В нашей локальной сети, если я пингую известный IPv6-адрес другого компьютера, он пингуется нормально, но если я делаю ping -6 fe80 :: 1 Я получаю "Узел назначения недоступен" и для ping -6 FF02 :: 1 Я получаю «Тайм-аут запроса»

, поэтому я не уверен, как даже проверить локальное обнаружение ссылок в Windows.

Так как это можно сделать?

Ответы [ 4 ]

1 голос
/ 22 октября 2015

LLDP может быть полезно в этом контексте.

Я думаю, что Windows CE не поддерживает его напрямую, но, возможно, вы могли бы получить необходимую информацию через промежуточный коммутатор - при условиивы подключены к тому же коммутатору, что и устройства, или что у вас есть SNMP-доступ к этому коммутатору.

1 голос
/ 18 февраля 2010

Попробуйте использовать nmap для сканирования всей сети и получения текущих подключенных устройств с назначенным IP-адресом, бесплатно вы можете получить ОС и определение версии.

Здесь вы можете получить двоичные файлы Windows: http://nmap.org/download.html

С уважением.

1 голос
/ 31 июля 2010

Для IPv4 используйте широковещательную рассылку 169.254.254.255 для ненастроенных устройств, или вы можете запросить DHCP и широковещательную рассылку в обнаруженную подсеть, или я уверен, что некоторые приложения просто транслируют на 255.255.255.255.IPv6 использует многоадресную рассылку в локальной области канала для каждого адаптера , в IPv6 нет широковещательной передачи, поэтому вы не можете использовать пинг ICMP.

Это будет означать, что для приложения, не зависящего от версии IP, необходимовнедрить службу обнаружения уровня приложений или использовать существующую технологию, например ZeroConf.

1 голос
/ 18 февраля 2010

Если устройства поддерживают zeroconf , то вы можете использовать « net view » для получения списка локальных серверов. Затем можно использовать реализацию DNS для Windows, чтобы разрешить IP-адрес из имени хоста. Команда Ping.exe будет ярлыком, если вы захотите сделать все это из скрипта, так как она возьмет имя хоста и отобразит IP-адрес, который проверяет.

Возможно, есть более элегантный способ непосредственного использования протокола zeroconf, но вышеприведенное тоже должно работать нормально.

...