Назад | Перейти на главную страницу

Поиск устройств NAS в локальной сети

Благодаря слабому ведению записей нашим (например! :-) администратором сети, мне поручено выяснить, какие устройства QNAP и Synology NAS существуют в нашей компании. У нас есть несколько сотен офисов, разбросанных по всей Великобритании, и все они представляют собой отдельные сети и отдельные домены. Все они основаны на Windows (смесь Server 2k3, 2008 и 2012). У нас есть собственное программное обеспечение для мониторинга, которое позволяет мне запускать любое программное обеспечение удаленно.

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

Очевидный первый шаг - просто запустить arp -a, и я, вероятно, все равно сделаю это. Однако это будет показывать только устройства, которые сервер видел в течение тайм-аута arp cache. Кто-нибудь знает простой способ получить все устройства? Под простым я подразумеваю что-то встроенное в Windows - я бы предпочел не устанавливать какое-либо программное обеспечение, поскольку мы говорим о сотнях разных офисов. В этих случаях обычно упоминается nmap, но порты Windows, похоже, требуют установки дополнительных библиотек. Если мне нужно использовать внешний сканер, было бы неплохо иметь исполняемый файл, который можно было бы просто скопировать на сервер и запустить.

PS: быстрое уточнение:

Сканер должен быть приложением командной строки, чтобы я мог удаленно запустить его и передать вывод в файл для последующего анализа. Он не может полагаться на Java, поскольку нет гарантии, что все серверы имеют Java. Я почти уверен, что все серверы будут иметь как минимум .Net 2.0 - я полагаю, что в крайнем случае я мог бы быстро запустить приложение .Net 2.0, чтобы проверить каждый возможный адрес в сети и получить MAC-адрес, связанный с любыми ответами ...

Самый быстрый / простой способ, как правило, - получить таблицы arp из ваших коммутаторов (при условии, что вы управляете коммутаторами, в противном случае приготовьтесь к большой боли) и отфильтруйте их на основе MAC-адресов, назначенных производителю сетевой карты (s ) Вы ищете. Я обычно использую этот сайт чтобы связать MAC-адреса с поставщиками и наоборот, но, безусловно, есть и другие.

Если ваши коммутаторы не управляются, поэтому вы не можете легко получить таблицы arp из центрального местоположения, следующий лучший подход - найти машину в каждом сегменте сети, из которого вы можете транслировать, а затем выполнить поиск в локальной таблице arp. Что ... далеко не идеально, но действительно лучшее решение из множества плохих вариантов. Вместо того, чтобы выполнять интерактивный вход на все эти машины, как вы, кажется, предлагаете в своем вопросе, Я бы использовал какой-нибудь метод получения удаленной командной строки из центра, например, с вашей рабочей станции. WinRM, удаленное взаимодействие PowerShell и даже PSexec - все это относительно простые варианты достижения этой цели, которые могут или не могут быть подходящими для вас, в зависимости от того, как настроена ваша среда.

О, и позвольте мне добавить, вместо того, чтобы пинговать каждый адрес или писать приложение для этого, было бы быстрее просто нажать широковещательный адрес для каждой из ваших подсетей или глобальный адрес сетевой трансляции, если вы выберете именно этот маршрут. (Широковещательный адрес - это адрес с .255 в последнем октете, а глобальный широковещательный адрес 255.255.255.255.)

Ты пробовала Angry IP Scanner ?
Кажется, я помню, что это был единственный исполняемый файл.

Раньше я использовал Fing в Linux, который можно запускать из командной строки и выводить в командную строку.

Если вы можете предсказуемо найти смонтированный том, вы можете определить IP-адрес, а затем отследить, является ли он одним из ваших ошибочных устройств. Вам нужно будет выполнить net use команду локально или посмотрите на любое постоянное отображение в реестре.

Затем, либо исследуя само имя для получения информации, либо попробовав эхо-запрос с сервера, вернет MAC-адрес.