Что нового

[Сеть, интернет] NIC Viewer - утилита для просмотра настроек сетевых адаптеров

erlik

Продвинутый
Сообщения
317
Репутация
84
AutoIt: 3.3.8.1
Версия: 1.0.0.2 от 06.05.2013

Категория: Интернет, Сеть

Описание:
Так как сегодня день простых вещей - то представляю вашему вниманию очень простой просмотрщик информации по сетевым адаптерам и интерфейсам. Его единственная полезная функция - spoofing MAC адреса.
Фактически утилита делает все то же, что и всем извесный SMAC - только бесплатно. ;)
Имеется поддержка командной строки.
;===========================================================
; COMMAND LINE: NICViewer.exe [NumberInterface] - рестарт указанного адаптера\адаптеров.
; [NumberInterface] - номер интерфейса (DeviceID) или список номеров через запятую: 1 или 1,5,8 или -1 - для всех сразу. Неправильные номера будут проигнорированы.
; Дополнительные опции:
; "all" - применить действия ко всем интерфейсам - физическим и виртуальным(не знаю стоит ли использовать, так как к чему приведут манипуляции с виртуальными адаптерами не знаю), по умолчанию - только к физическим.
; Физические адаптеры в скрипте определяются по наличию непустой строки в параметре NetConnectionID, у виртуальных адаптеров по моим наблюдениям он пустой.
; НЕ ГАРАНТИРОВАНО ЧТО ЭТО ТАК ВСЕГДА.
; "test" - тестовый режим: NICViewer.exe NumberInterface "test" или NICViewer.exe NumberInterface "all" "test" - вместо реальных команд выводится MsgBox с текстом(кавычки для для данных опций не обязательны).
;===========================================================
; Кнопка Refresh обновляет коллекцию объектов WMI - требуется когда, к примеру, вы указываете другое имя компьютера для подключения.
; Кнопка View config - отображает информацию по выбранному адаптеру в отдельном окне.
; Чекбокс Show all - включает отображение информации по всем адаптерам(то есть включая виртуальные).
; Чекбокс Test mode - включает тестовый режим.
; Кнопка Generate MAC - генерирует рандомный MAC.
; Кнопка Change MAC - записывает сгенерированный MAC адрес в реестр.
; Кнопка Get MAC - получает (если выйдет) MAC удаленного компьютера по введенному пользователем IP.
; Кнопка -> рядом с кнопкой 'Change MAC' копирует реальный MAC в буфер обмена.
; Кнопка -> рядом с кнопкой 'Generate' выводит окно со списком производителей сетвых карт, где вы можете выбрать нужный идентификатор (первые три значения MAC-адреса),
; три других значениях нужно будет сгенерировать кнопокой Generate MAC. Без выбора производителя будут генерироваться все 6 значений.
; Кнопка -> рядом с кнопкой 'Get MAC' вставляет полученный MAC в ячейки Spoof MAC address.
; Кнопка X рядом с надписью Spoof MAC address очищает ячейки Spoof MAC address и удаляет этот адрес из реестра
; Rнопки <- просто очищают ячейки.
; После установки Spoof MAC адреса нужно рестартовать адаптер или даже перезагрузить компьютер.
;===========================================================

Файл:
Исходник+exe

Снимок:
:rofl:SN6RMa.jpg" width="" />

История версий:
----------------------------------------------------------------------
Версия 1.0.0.2
1. Добавлена возможность генерации MAC-адреса из списка реальных идентификаторов производителей.
2. Расширен список информационных полей настроек адаптеров.
3. В качестве эксперимента добавлен сканер компов (вызывается кнопкой Inventory) в локалке (инвентаризация IP, имен, MAC-адресов, вендоров сетевых карт). Используются методы ARP и WMI.
----------------------------------------------------------------------
Версия 1.0.0.1 - добавлен функционал связанный со сменой MAC адреса.
---------------------------------------------------------------------
Версия 1.0.0.0 - лежит в столе заказов, умеет только показывать информацию.

Источник: autoit-script.ru
Автор(ы): Erlik (Garry Galler)

ЗЫ: Обладателям Windows XP для работы программы придется скачать утилиту devcon.exe от Microsoft - она нужна для включения\выключения адаптеров, остальные функции работают без нее. Для прочих OS - Vista,7,8 - скрипт использует методы WMI и devcon.exe не нужен. Но как эти методы работают, автором пока не проверялось.
Обладателям 64-битной версии Windows придется проверить использовать ли в скрипте ключ HKLM или HKLM64 (пока указан второй) - какой правильнее использовать не уверен.
--------------------------------------
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Re: [Сеть, интернет] NIC Viewer (ну очень простой) - утилита для просмотра настроек сетевых адаптер

erlik [?]
использовать ли в скрипте ключ HKLM или HKLM64 (пока указан второй) - какой правильнее использовать не уверен.
в этой ветке нет перенаправления. так что - HKLM
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
Re: [Сеть, интернет] NIC Viewer (ну очень простой) - утилита для просмотра настроек сетевых адаптер

joiner
В общем закомментировал с скрипте строчку с заменой на HKLM64.
--------------------------------------------------------------------
Так же сделал заполнение ListView по умолчанию данными первого адаптера в combo.
Перазалил оба варианта.
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
Обновил до версии 1.0.0.2.
1. Добавлена возможность генерации MAC-адреса из списка реальных идентификаторов производителей. (вес скомпилированной программы вырос в два раза из-за включенного в ресурсы конфиг файла с 17 тысячами идентификаторов).
2. Расширен список информационных полей настроек адаптеров.
3. В качестве эксперимента добавлен сканер компов (вызывается кнопкой Inventory) в локалке (инвентаризация IP, имен, MAC-адресов, вендоров сетевых карт). Используются методы ARP и WMI.
--------------------------------------------------
А теперь о грустном. Сканер компов был сделан в качестве эксперимента. Увы, на данный момент неудачного. Отсутствие в Autoit поддержки многопоточности лишает всякого смысла попытки делать что-то подобное. Сканирование сети сильно тормозит и даже вешает скрипт особенно (если на компе включен протокол NetBios - тормоза вызывает функция системная функция gethostbyaddr - при получении NetBios имени компа), при полном отключении NetBios тормоза исчезают, но NetBios имена не возвращаются, только доменные. Использование WMI (по сути ping, только средствами данного интерфейса) скорости не прибавило. Гораздо быстрее возвращаются имена интернет-серверов (через ARP запрос). (Для теста можете попробовать ввести подсеть серверов яндекса 213.180.193 и получите все их сервера в данном диапазоне.)
Аналогичные программы работают за счет потоков раз в 50 быстрее.
Впрочем если у кого-то есть мысли как все это дело можно улучшить - пишите.
ЗЫ: Если кто-то сможет написать обертку для асинхронного варианта gethostbyaddr, либо вызовов функций inetmib1.dll (реализует протокол SNMP)- буду рад помощи.
 
Верх