Какие протоколы являются общими для обнаружения локальной сети?
Я заметил, что мой XP выдает сообщение о том, что он находит мой маршрутизатор с поддержкой UPNP всякий раз, когда я повторно подключаю сеть.
В моей командной строке Windows, я могу ввести Net View
предположительно, чтобы видеть компьютеры в рабочей группе (хотя в настоящее время я не могу видеть компьютер по соседству, когда должен, но это не имеет отношения;).)
Проигрыватель Windows Media в Vista представил некоторую функцию, которая может обнаруживать общие мультимедиа по сети.
Если я вхожу в сеть Windows, это делает что-то вроде открытия самбы.
Я предполагаю, что в Linux есть другие подобные протоколы, которые работают по локальной сети. И в Mac тоже.
- Каковы эти протоколы? Я имею в виду, точнее, чем, скажем, "на основе UDP".
- Какие другие протоколы распространены? (Например, встроенный в некоторые используемые версии Windows, MacOSX, Top10 Linux distro., или топинг в некоторой категории в качестве альтернативы и заслуживающий упоминания.)
- Есть ли для них инструмент для перечисления доступных компьютеров / пиров в локальной сети - предпочтительно через командную строку?
(Есть ли инструмент, который может перечислять узлы по нескольким протоколам?)
2 ответа
UPnP использует UDP/1900(стандарт) и TCP/2869(Microsoft).
Есть два варианта, которые я знаю для сканирования для этого.
Этот инструмент http://upnp-check.rapid7.com/.
Или nmap с помощью скрипта upnp-info.
Nmap выведет список других компьютеров в той же подсети. Вы также можете выполнить простое сканирование ping с помощью цикла в Linux, например:
for I in {1..254}
do
ping -c1 192.168.1.${I} && echo host is UP || echo Host is down
done
Это предполагает, что ваша подсеть 192.168.1.0/24
Mac используют Multicast DNS ( MDNS), также известный как Bonjour, для обнаружения сервисов. Linux использовал avahi и DNS-SD для обнаружения службы.