Введение
В данном обзоре мы отойдём от ставших уже привычными тестов сетевого аппаратного обеспечения, а рассмотрим исключительно программные утилиты, существенно упрощающие жизнь администратора сети. На наш строгий суд компанией “Фаматек”, известной на российском рынке своим продуктом удалённого администрирования Radmin, были представлены четыре бесплатные утилиты, осуществляющие быстрое многопоточное сканирование подсетей на наличие работающих устройств, сканирование работающих компьютеров и прочих устройств сети на наличие открытых портов (работающих сервисов), а также облегчающие расчёты архитектора сети при разработке системы адресации.
IP Address Calculator
Начнём наш обзор мы с утилиты IP Address Calculator, текущая версия 1.1 которой появилась 1 июля 2004, однако до сего времени она не потеряла актуальность. Advanced IP Address Calculator – это простая в использовании утилита для быстрого и наглядного расчёта соответствия IP адресов подсетям. Данный программный продукт будет полезен при начальном проектировании IP-сети, либо в случае планирования модификации адресного пространства текущей сети. Несмотря на простоту программы, для своей работы она требует установки.
Основное окно программы можно условно разделить на три связанные между собой части. В первой (самой верхней) части можно получить информацию по введённому IP-адресу: класс, адрес сети и маску сети класса, к которому принадлежит заданный адрес.
Вторая часть отвечает за расчёт подсетей: позволяет для указанного классового адреса сети показать допустимые маски, которые могут быть использованы для разбиения данного класса сети на подсети; распределяет свободные биты маски из host-части при таком разбиении; указывает количество подсетей и хостов в них; даёт адреса подсетей и широковещательные адреса, получаемые в результате такого разбиения.
Третья часть позволяет осуществлять группировку сетей заданного класса в большие суперсети, что может быть использовано в случае, когда организации выделено несколько подсетей определённого класса, а администратору требуется разбиение всего (суммарного) пула адресов. В этой части можно указать желаемую маску, а также увидеть, количество занимаемых маской бит, количество суперсетей и адресов в этих суперсетях.
Несмотря на очевидную полезность программы, нам бы хотелось заострить внимание читателей на некоторых её недостатках, указанных далее. Нам не очень понравилась столь явная привязка программы к классу рассчитываемой сети. Кроме того, добавление других классов, например экспериментального E, не было бы лишним. Постепенный переход от протокола IPv4 к протоколу IPv6 заставляет всё большее и большее число сетевых администраторов проектировать и внедрять (пусть пока чаще в тестовом режиме) сети на основе этого протокола. Отсутствие поддержки IPv6 в утилите IP Address Calculator делает невозможным её использование для построения сетей следующего поколения. Также для сетей группового вещания класса D расчёт MAC-адреса группы мог бы являться органичным дополнением поддержки адресов этого класса.
Advanced LAN Scanner
После построения сети перед администратором встаёт вопрос мониторинга работы, поэтому мы переходим к рассмотрению утилиты Advanced LAN Scanner, текущая версия которой 1.0 beta 1 была выпущена 1 июля 2004 года. Advanced LAN Scanner использует метод многопоточного сканирования, позволяя осуществлять сканирование более 1000 элементов в секунду. При использовании программы для сканирования портов, можно осуществлять сканирование всех 65536 портов менее чем за минуту.
Кроме сверхбыстрого сканирования, программа обладает также рядом других отличительных черт: получение детальной информации об удалённых компьютерах без установки на них дополнительного ПО; сканирование под указанными правами; широкие возможности экспорта и импорта результатов сканирования, включая поддержку скриптов для пользовательских форматов экспорта.
Установка программы в точности повторяет инсталляцию IP Address Calculator, поэтому этот этап работы с программой мы опускаем. После запуска программы перед пользователем появляется окно, представленное ниже.
В основном окне программы сетевой администратор может указать диапазон адресов хостов, которые он хочет просканировать, запустить сам процесс сканирования, либо указать дополнительные настройки такого анализа хостов нажатием кнопки “Advanced”. Данные расширенные настройки показаны ниже.
В окне расширенных настроек пользователь может указать такие параметры как: диапазон сканируемых адресов в виде непрерывного пула, либо задать вручную группу адресов, либо определить адрес по имени; а также ту информацию, которую необходимо получить от сканируемых хостов (тип операционной системы, NetBIOS-имя, время, заведённые пользователи и группы, работающие сервисы и так далее).
Меню “File” главного окна утилиты позволяет сохранить результаты сканирования в файл, либо закрыть программу. Меню “Options” скрывает единственный пункт “Configuration”, позволяющий настроить работу программы в целом.
К настраиваемым параметрам программы относятся следующие: максимальное количество одновременных потоков (баланс между скоростью сканирования и загрузкой процессора), приоритет сканирования, пробирование компьютера с помощью ICMP, время ожидания ответа, диапазон портов, типы искомых данных (операционная система, имя хоста по NetBIOS и так далее), учётные данные для подключения к удалённому компьютеру через NetBIOS, параметры совместимости и интерфейса.
Функциональность этой утилиты в дальнейшем, видимо, была разделена между двумя программами, естественно, с введением новых опций: Advanced IP Scanner и Advanced Port Scanner, установка которых происходит по уже описанной выше схеме. Рассмотрим каждую из них подробнее.
Advanced IP Scanner
Advanced IP Scanner – это быстрый, надёжный и простой в использовании сканер локальных сетей (LAN) для Windows. Данная утилита позволяет пользователю собирать информацию о компьютерах в сети за считанные секунды. Возможен доступ ко многим полезным функциям в один щелчок мыши – удалённое включение и выключение компьютера, интеграция с Radmin и многое другое. Технология многопоточного сканирования позволяет осуществлять сканирование сотен компьютеров в сетях класса B и C за считанные секунды даже с медленным модемным соединением.
Главное окно программы позволяет указать диапазон IP-адресов, который нужно просканировать на наличие работающих компьютеров, серверов или иного активного сетевого оборудования. Результаты сканирования можно перенести во второй список для проведения операций уже с результатами поиска. Также этот список можно корректировать ручным добавлением и удалением информации об интеллектуальном сетевом оборудовании. Результаты любого сканирования администратор может сохранить в файл для последующего использования. Программа за один щелчок мышью позволяет расширить сканируемый диапазон до сети класса C или даже B, осуществить сканирование и получить NetBIOS-параметры. Также за один щелчок можно выключить любой компьютер из списка, либо наоборот включить его или отменить запущенную процедуру выключения.
Рассмотрим подробнее настройки программы, доступ к которым можно получить из меню “Option-Configuration”.
К списку настраиваемых параметров относятся следующие: опции удалённого выключения машины (время, через которое будет произведено выключение; учётные данные пользователя удалённой машины, из-под которых производится выключение; сообщение, выдаваемое при выключении, и так далее), опции IP-сканирования (количество одновременных сессий сканирования, количество ICMP-запросов, время ожидания ответа ICMP, опции получения информации NetBIOS; фильтрация вывода, а также приоритет сканирования), общие настройки (опции автоматической загрузки списка сканируемых адресов, автоматического сканирования списка при загрузке и автоматического сохранения результатов сканирования; реакция на двойной щелчок мыши; а также диапазон IP-адресов, выставляемый по умолчанию), опции листов сканирования (отображаемая в листах информация), интеграция с утилитой Radmin (порт подключения Radmin к удалённой машине и расположение самой утилиты Radmin на локальной машине), а также опция совместимости, используемая при возникновении проблем сканирования на Windows XP до первого Service Pack.
Обзор утилиты Advanced IP Scanner на этом мы заканчиваем и переходим к рассмотрению программы Advanced Port Scanner.
Advanced Port Scanner
Advanced Port Scanner – это компактный, быстрый, надёжный и простой в использовании сканер портов для платформы Win32. Он использует технологию многопоточности (multithreading), поэтому на мощных компьютерах вы можете сканировать порты с очень высокой скоростью. Также он содержит описания стандартных портов и может выполнять сканирование на предустановленном диапазоне портов.
Главное окно программы позволяет указать диапазон IP-адресов, для которых необходимо произвести сканирование портов, а также диапазон портов, которые нужно просканировать на каждом интересующем компьютере. Доступ к настройкам программы можно получить из меню “Options-Configurations”.
Настраиваемые опции программы: параметры сканирования портов (количество одновременных потоков сканирования и их приоритет, а также настройки использования ICMP при сканировании), настройки интерфейса (параметры отображения просканированных портов, а также стандартный диапазон IP-адресов для сканирования), общие настройки (автоматическая загрузка последнего списка IP-адресов и сканируемых портов) и параметры совместимости для работы с системами Windows XP без Service Pack 1.
Кроме указанных настроек существует ещё и возможность управления работой программой с помощью файла со скриптом, язык которого описан в файле справки. Язык крайне простой и понятный. Достаточно лишь создать файл *.tpl в той же папке, где находится исполняемый файл утилиты.
Рассмотрение интерфейса программ мы на этом закончим и перейдём непосредственно к тестированию, в котором рассмотрим работу двух утилит: Advanced IP Scanner и Advanced Port Scanner.
Тестирование
Для тестирования мы специально подобрали стационарный ПК, параметры которого с трудом можно назвать современными, основные из них мы приводим ниже.
Параметры | Стационарный ПК |
Процессор | Intel Pentium III EB (Coppermine) Socket 370 1,0 ГГц |
Материнская плата | Asus CUSL2-C (i815/E/EP) |
Оперативная память | Samsung 512 Мбайт (PC-133) |
Сетевая карта | 3Com 3C905TX Fast Ethernet |
Операционная система | Windows XP Professional SP2 Rus |
Однако мы считаем, что для проведения сравнительного теста подобного рода программ, этой машины вполне достаточно, а её использование резонно.
Наше тестирование мы начнём с проверки работы программы Advanced IP Scanner. Мы решили провести тестирование двух сетей класса C, в одну из которых установили тестовый ПК. Сети класса C построены на коммутаторах Fast Ethernet и связаны между собой маршрутизатором Asus RX3041H и на момент тестирования совершенно не были загружены. Мы решили установить, как зависит время тестирования от количества одновременно запущенных потоков приложения-сканера. В нижеприведённой таблице отражены полученные при тестировании данные. В поле “Маска” размещается длина маски, что определяет количество сканируемых хостов. Время мы измеряли в секундах.
Маска | Потоки | Время | Маска | Потоки | Время | Маска | Потоки | Время | Маска | Потоки | Время |
23 | 1000 | 29 | 24 | 1000 | 21 | 25 | 1000 | 19 | 26 | 1000 | 19 |
23 | 750 | 29 | 24 | 750 | 21 | 25 | 750 | 19 | 26 | 750 | 19 |
23 | 500 | 29 | 24 | 500 | 21 | 25 | 500 | 19 | 26 | 500 | 19 |
23 | 300 | 29 | 24 | 300 | 21 | 25 | 300 | 19 | 26 | 300 | 19 |
23 | 250 | 29 | 24 | 250 | 22 | 25 | 250 | 19 | 26 | 250 | 19 |
23 | 200 | 29 | 24 | 200 | 22 | 25 | 200 | 19 | 26 | 200 | 19 |
23 | 150 | 29 | 24 | 150 | 22 | 25 | 150 | 19 | 26 | 150 | 19 |
23 | 100 | 30 | 24 | 100 | 23 | 25 | 100 | 19 | 26 | 100 | 19 |
23 | 75 | 31 | 24 | 75 | 24 | 25 | 75 | 19 | 26 | 75 | 19 |
23 | 50 | 33 | 24 | 50 | 25 | 25 | 50 | 19 | 26 | 50 | 19 |
23 | 25 | 33 | 24 | 25 | 26 | 25 | 25 | 19 | 26 | 25 | 19 |
23 | 15 | 35 | 24 | 15 | 26 | 25 | 15 | 19 | 26 | 15 | 19 |
23 | 10 | 46 | 24 | 10 | 31 | 25 | 10 | 19 | 26 | 10 | 19 |
23 | 9 | 48 | 24 | 9 | 35 | 25 | 9 | 19 | 26 | 9 | 19 |
23 | 8 | 58 | 24 | 8 | 41 | 25 | 8 | 19 | 26 | 8 | 19 |
23 | 7 | 65 | 24 | 7 | 41 | 25 | 7 | 19 | 26 | 7 | 19 |
23 | 6 | 73 | 24 | 6 | 45 | 25 | 6 | 20 | 26 | 6 | 19 |
23 | 5 | 84 | 24 | 5 | 52 | 25 | 5 | 28 | 26 | 5 | 19 |
23 | 4 | 109 | 24 | 4 | 61 | 25 | 4 | 31 | 26 | 4 | 19 |
23 | 3 | 164 | 24 | 3 | 82 | 25 | 3 | 39 | 26 | 3 | 27 |
23 | 2 | 216 | 24 | 2 | 119 | 25 | 2 | 61 | 26 | 2 | 36 |
23 | 1 | 419 | 24 | 1 | 221 | 25 | 1 | 113 | 26 | 1 | 66 |
На один график мы нанесли сразу все четыре зависимости, однако представили не все данные, а лишь ту часть, которая относится к области малого количества потоков. График представлен ниже.
В области малого количества одновременно сканирующих потоков можно наблюдать рост времени сканирования, обратно пропорциональный количеству потоков. В области большого количества одновременных потоков наблюдается стремление времени сканирования к некому ненулевому асимптотическому значению, величина которого зависит от количества сканируемых узлов сети, что видно из приведённой выше таблицы.
Нельзя не отметить обнаруженные в процессе тестирования недочёты и ошибки. Мы не обращали внимания на мелкие неточности в интерфейсе, однако хотели бы указать на некоторые особенности работы программы. При сканировании сетей класса B интерфейс программы прорисовывается с ощутимыми задержками, во время которых процессор загружен на 100%.
Одновременное использование большого количества потоков хотя и не приводит к существенному ускорению процесса сканирования, но существенно нагружает процессор и занимает оперативную память. Это не связано с реализацией сканирования в программе, но относится к особенностям реализации обработки потоков ядром операционной системы. Мы бы не рекомендовали использовать более 1000 одновременных потоков. 1000 работающих потоков уменьшают объём свободной оперативной памяти на 76 Мбайт, однако сам объём программы меняется лишь с 1 до 20 Мбайт, что обусловлено реализацией стека TCP/IP в Windows.
Также в случае настройки на использование большого количества потоков и при условии, что программа не может создать их из-за загрузки процессора, объёма свободной оперативной памяти или в силу других причин, при остановке сканирования память программой не освобождается и её потоки автоматически не “убиваются”. Для нашей конфигурации было достаточно выставить значение количества потоков не меньшее 2000. В процессе работы утилита может создать и поддерживать порядка 1990 потоков. После остановки сканирования в “Диспетчере задач” видно, что у Advanced IP Scanner всё ещё то количество потоков, которое было на момент установки, а оперативная память при этом не освобождается. По заявлению представителей компании Famatech, данная особенность не является ошибкой, а представляет собой работу интеллектуального алгоритма предсказания необходимости сохранения потоков для повторного использования, однако мы всё-таки находим такое поведение программы некорректным.
Для сравнения времени работы с другими аналогичными программами мы выбрали продукт компании Positive Technologies – XSpider 7.5 (Build 1712). После указания диапазона сканирования – сети класса C, XSpider потребовалось 15 секунд, чтобы установить “живость” узлов заданного диапазона, при этом количество создаваемых им потоков не превышало 63. При аналогичных ограничениях Advanced IP Scanner требует уже 25 секунд. Для меньших сетей различия во времени ещё более разительные: 19 секунд у Advanced IP Scanner против 8 секунд у XSpider’а. У нас сложилось впечатление, что Advanced IP Scanner имеет некую относительно стабильную “временную добавку”, составляющую порядка 20 секунд. Нам бы хотелось особо указать, что временем сканирования мы считаем период времени с момента нажатия кнопки “Scan” до момента появления надписи “Scan complete”. Список просканированных компьютеров отображается раньше момента появления надписи об окончании сканирования. Эта же особенность относится и к Advanced Port Scanner. По заявлению специалистов технической поддержки Famatech, сканирование сети класса C с отключённым определением параметров NetBIOS и оптимизацией под быстрое соединение занимает порядка 3-4 секунд. К сожалению, нам так и не удалось получить эти заветные 3-4 секунды на тех машинах, на которых мы проводили сканирование.
На этом тестирование утилиты Advanced IP Scanner мы заканчиваем и переходим к проверке работы программы Advanced Port Scanner.
Установим теперь и для Advanced Port Scanner зависимость времени тестирования от количества одновременных потоков сканирования. В данной утилите есть предустановленные количества потоков при сканировании (16, 64, 128, 256 и 1024). От количества потоков зависит загрузка центрального процессора и памяти во время сканирования. У нашей тестовой машины процессор был полностью использован уже при 128 потоках. При таком количестве потоков мы получили минимальное время сканирования, что связано с механизмом передачи управления между потоками в операционной системе. Увеличение количества потоков приведёт лишь к дополнительным затратам процессорного времени на переключение контекстов. Однако на более быстрых компьютерах резонно увеличить это значение. Ниже мы приводим полученные данные для разного количества потоков. Мы провели сканирование нескольких диапазонов портов, содержащих различные их количества (5000, 10000, 30000 65535).
Порты | Потоки | Время | Порты | Потоки | Время | Порты | Потоки | Время | Порты | Потоки | Время |
65535 | 16 | 2207 | 30000 | 16 | 1017 | 10000 | 16 | 346 | 5000 | 16 | 179 |
65535 | 64 | 535 | 30000 | 64 | 253 | 10000 | 64 | 92 | 5000 | 64 | 52 |
65535 | 128 | 327 | 30000 | 128 | 164 | 10000 | 128 | 64 | 5000 | 128 | 38 |
65535 | 256 | 354 | 30000 | 256 | 181 | 10000 | 256 | 68 | 5000 | 256 | 30 |
65535 | 1024 | 350 | 30000 | 1024 | 127 | 10000 | 1024 | 45 | 5000 | 1024 | 27 |
Также хотелось бы отметить странное поведение Wizard, периодически выдававшего сообщения об ошибках (недостижимость машины) в случаях прямой видимости машин. При этом обычное сканирование этой же программой производится без проблем.
Неприятной особенностью явилось то, что найденные открытые порты в программе отображаются только номером (без указания протокола).
Мы решили сравнить время сканирования утилитой Adcanced Port Scanner со временем работы другого сканера портов. И опять мы воспользовались продукцией Positive Technologies – программой XSpider 7.5 (build 1712). Сканирование всего диапазона портов у XSpider отняло 452 секунды, при этом за всё время работы был полностью загружен процессор, но количество потоков не превышало 12.
На этом нам бы хотелось закончить наше тестирование сетевого программного обеспечения, предоставляемого компанией Famatech.
Заключение
Протестированные нами утилиты компании Famatech – Advanced IP Scanner и Advanced Port Scanner – являются необходимым инструментом сетевого администратора и показали неплохие результаты скорости сканирования. Но во время тестирования нами были замечены и некоторые проблемы. Для каждой из утилит ниже приводится список положительных и отрицательных характеристик.
Положительные особенности Advanced IP Scanner:
- лёгкость в установке, настройке и использовании;
- возможность перенесения исполняемого файла на другую машину без установки программы;
- возможность управления процессами включения и выключения удалённого хоста;
- бесплатная.
Отрицательные особенности Advanced IP Scanner:
- медленная прорисовка интерфейса в процессе сканирования;
- некорректное использование оперативной памяти;
- медленная обработка больших сетей.
Положительные особенности Advanced Port Scanner:
- лёгкость в установке, настройке и использовании;
- возможность перенесения исполняемого файла на другую машину без установки программы;
- наличие скриптового языка для автоматизации выполняемых задач;
- бесплатная.
Отрицательные особенности Advanced Port Scanner:
- медленная прорисовка интерфейса в процессе сканирования;
- медленная обработка большого количества портов;
- обнаруженные порты отображаются без указания транспортного протокола.
На момент написания статьи на сайте компании Famatech были доступны следующие версии утилит: Advanced IP Scanner 1.5, Advanced Port Scanner 1.3.