В настоящее время я работаю над проектом, который получает информацию с принтера по snmp protocol
(имя, напечатанные страницы, уровни тонера ...).
В настоящее время он работает, когда у меня есть IP-адрес принтера, но я должен применить его в очень большой компании (имеется в виду огромная сеть), и мне нужно что-то, что я могу найти все принтеры в сети.
Это должно выполняться в системе на основе Windows в пакетном сценарии.
Я знаю, что могу найти все IP- адреса в сети с помощью arp -a
или что можно выполнить поиск по всем IP-адресам, чтобы найти принтер.
Но у меня есть маска подсети 255.0.0.0
что означает, что есть 16 миллионов (16581375) IP-адресов, которые я должен искать, что очень ресурсоемко и требует много времени.
В панели управления Windows есть опция add network or wireless printer
где общий список всех сетевых принтеров.
Я не могу найти никакой информации, как они получают этот список или любой тип исходного кода.
Кто-нибудь знает, как Windows получает этот список?
Или есть лучший способ получить список всех сетевых принтеров, а не использовать всю сеть для принтеров?
И когда брутфорсинг - единственное решение, мне нужен лучший способ проверить, принадлежит ли IP-адрес принтеру, потому что отправка команды snmp
на любой IP-адрес - не лучший способ.