Как я могу определить хосты Windows в подсети с Delphi? - PullRequest
4 голосов
/ 04 апреля 2011

У меня есть административное приложение, которое я хотел бы иметь возможность "обнаруживать" хосты Windows в той же или указанной пользователем подсети.Как вы думаете, что является лучшим способом быстрого обнаружения, если ряд хостов подключен к сети, используя Delphi?

Я рассмотрел возможность проверки связи хостов (возможно, с использованием WMI и Delphi ), но я считаюможет быть более надежный способ.Я обеспокоен тем, что клиенты могут быть настроены, чтобы не отвечать на запросы ping.Используя nbtscan , я могу очень быстро получить список хостов Windows в моей подсети:

nbtscan 192.168.1.0/24

Я хотел бы иметь возможность реплицировать эту функцию, но я не уверен, гденачать.В настоящее время я использую компонент ICS, созданный Франсуа Пиетт для Delphi 2010.

Я приветствую любые предложения.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

Почему бы вам не использовать сканер типа nmap для этого.

И если вы не можете по какой-либо причине, вы можете прочитать о том, как они это делают.

Проверка Удаленное обнаружение ОС и Методы снятия отпечатков TCP / IP, поддерживаемые Nmap Надеюсь, это поможет.

1 голос
/ 05 апреля 2011

После некоторых копаний я нашел этот проект на Sourceforge, который демонстрирует, как выполнить поиск NetBios на одном хосте с использованием компонентов Indy.Я протестировал, и этот проект хорошо работает с Delphi 2010. Его, конечно, можно изменить для выполнения запросов NetBios по ряду адресов.

...