About

NetView 2.94

HTML HELP

Задумывался, как программа-заменитель Сетевого Окружения Windows, позволяющая использовать помимо стандартных возможностей Windows, сбора информации о сетевых ресурсах, так же отдельный файл-хостлист, в котором бы хранились имена всех компьютеров в сети и их IP адреса, а кроме того, проводит регулярные перепроверки списка компьютеров путем их пингования или соединения на указанный порт. В дальнейшем программа солидно выросла и в высоту, и в ширину, и в глубину, и получилось нижеописанное...

Фичи:

Использование файла для хранения информации о сети и проверки состояния хостов пингов/сканированием/ARP запросами позволяет видеть ВСЕ компьютеры сети, даже если в сети нету либо есть но кривой browse master. При соответствующих настройках(отключение опроса сети при старте) запуск программы происходит очень быстро. При включенном опросе при запуске в список автоматически добавляются новые компьютеры.

Поддержка плагинов. Как вывод - практически неограниченные возможности расширения функциональности. По умолчанию с NetView устанавливается несколько небольших плагинов, более крупные можно найти на сайте.

Поддержка управляющих скриптов использующих большую часть возможностей интерфейса плагинов. Используется Innerfuse Pascal Script Engine.

Имеется API для обращения к данным NetView из сторонних программ. Кстати NetView позволяет другим программам удобно хранить абсолютно любую информацию о хостах благодаря особой организации данных.

Может работать как сервис в среде Windows 2000/XP/2003. При этом не требуется никаких дополнительных программ для установки его сервисом - эта возможность включается в общих настройках самого NetView.

Проверка состояния может осуществляться как его пингованием, так и попыткой соединения на заданные порты(до 8ми штук, по умолчанию 139)**. либо попыткой подключения к сетевому ресурсу, при этом можно включить отображение количества найденных шар на машине в столбце Connection**(лучше не использовать постоянно тк сильно нагружает системные ресурсы и может приводить к зависанию некоторых соединений и утечке памяти). Причем зная назначение определенных портов можно узнать какие службы запущены на машинах сети. Общее время перепроверки списка из пары сотен машин - несколько секунд.

Позволяет задавать индивидуальные настройки перепроверки состояния для разных хостов.

Автопроверка списка машин на наличие включенных через заданный интервал времени (по умолчанию 20 мин). Можно задавать индивидульные интервалы перепроверок для хостов.

Умеет прослушивать сетевой траффик и иницировать инливидуальную проверку состояния хоста как только в сети проходит пакет от его IP.

*Позволяет открывать машины как по имени, так и по IP адресам, что может быть намного быстрее.

Умеет открывать так же http/ftp сервера.

Открытие компьютера никогда не приводит к "подвисанию" программы на время установления соединения, т к для этого создается новый поток.

Настройка отображения включенных, выключенных и однажды посещенных машин разными цветами.

Всплывающее меню Resources со списком шар, FTP каталогов 1го уровня и HTTP для компьютера. Позволяет получать быстрый и удобный доступ к этим ресурсом благодаря многопоточности и механизму кэширования. Каждой шаре в меню сопоставляется иконка соответственно с названием (GAMES, INSTALL и тп). В меню видно и так называемые "скрытые шары" оканчивающиеся на знак $.

Щелкнув правой кнопкой на компьютере и нажав Properties Вы узнаете его IP и MAC адреса, тип установленной ОС, список работающих на компьютере сетевых сервисов, список пользователей в системе, список подключенных к расшаренным ресурсам компьютеров, время на удаленной машине, какие порты открыты на машине...

Встроенный NetSearcher - поисковик файлов в сети с расширенными параметрами поиска и возможностью сохранения списка файлов в форматах txt и html различных кодировок. Может сохранять настройки поиска в пресеты. Умеет искать в скрытых шарах, о существовании которых зачастую кстати не знают сами хозяева [image]. Умеет искать файлы как из обычных NETBIOS шар так и по протоколу FTP. Позволяет сохранять список найденных файлов в текстовый, HTML форматы, по заданному шаблону или вообще использовать скриптовое ведение файллиста с возможностью записи в БД.

Встроенный NetWatcher - монитор активных SMB соединений с возможностью создания черного, белого списка и отключения любого пользователя в любое время. Либо всех по нажатию горячей клавиши. Пользователя в список можно вносить с именем шары. Например запретить компьютеру MASHA лазить в xxx. Может проводить мониторинг как на локальном компьютере, так и на удаленных, если имеются права администратора.

Можно также скрыть все расшаренные ресурсы одним щелчком мыши. Другим - восстановить их. Можно прятать ресурсы по-отдельности.

Встроенный сканер, позволяющий сканировать диапазон IP адресов на предмет открытых портов, наличия в DNS записях, ARP запросами и простым пингом. Поддержка скриптов для "продвинутого" сканирования портов.

Встроенный IP logger, ведущий лог всех TCP/UDP соединений и открытых портов. Выводит статистику по IP протоколам, умеет предупреждать о флуд атаках. Например если в секунду на Ваш компьютер поступило ~100 ICMP запросов это скорее всего означает что кто-то пытается "зафлудить" Вашу машину пингами. Так же есть предупреждение о SYN и UDP флудах.

**Встроенный PortListener - монитор, отслеживающие соединения на заданные порты, полезен для обнаружения IP адресов с которых проводятся попытки установить соединения на троянские порты или сканирования портов. Имеет функцию Scan chaser при включении которой удаленный сканер портов показывает открытыми практически все порты. Поддержка скриптовой обработки подключений позволяет эмулировать и реализовывать простые TCP сервисы. На основе этой поддержки например функционирует(если его включить) встроенный HTTP сервер.

Встроенный Terminal, основанный на скриптах, позволяющий соединяться на любой выбранный порт либо его прослушивать. Так же может использоваться IRC, telnet, pop3, whois или любым другим текстовым протоколом (если конечно Вы его знаете ;)). Подключаться к удаленному порту можно с любого IP адреса установленного в системе..

Встроенный Resources scaner составляющий список подключаемых ресурсов всей сети, в том числе и скрытых(например c$), с возможностью перебора имени пользователя(при возможности получает список пользователей с хоста). Находит так же FTP ресурсы и HTTP серверы. Умеет сохранять результаты в текстовый файл.

NetMessenger - позволяет слать сообщения Windows Messenger. Аналог NET SEND с возможностью посылки сообщений от произвольного имени. Умеет так же и принимать сообщения.

TraceRoute - оконный аналог утилиты tracert с возможностью трассировать маршрут не банальными ICMP ECHO REQUEST пакетами как обычные трейсроуты, но и TCP SYN.

Отображение машин либо в виде списка, либо в виде дерева сегментов (используется traceroute). Причем карта составляется и обновляется практически автоматически(одним кликом мышки). Так же возможно отображение в виде визуальной карты, с возможностью задания произвольных иконок для компьютеров (можете навешать к примеру фотографии), рисования линий, прямоугольных областей и задания фоновых текстур под все это дело. Все что надо для визуализации вашей сети!.

Port mapper - позволяет прослушивать входящие соединения на заданный(свободный) TCP порт и перенаправлять их на другой порт другого IP. Умеет вести лог проходящего траффика что делает его весьма полезным инструментом для анализа неизвестных протоколов.

Может подключать сетевые диски под произвольным именем пользователя и паролем.
Такая мелкая фишка как автосворачивание окна в заголовок и режим окна поверх всех остальных окон. Может вдруг кому-то понравиться?

Программа может висеть в трее(справа внизу, рядом с индикатором часов). Причем значок ее меняется в зависимости от текущего состяния

* - рекомендуется для Windows NT, 2000, XP
**- работает только в среде Windows NT, 2000, XP

На верх


История

v2.94 [20.03.2006]
  • [FIXED] В определенной ситуации запуск NV приводил к отключению сети. Это происходило когда НВ не удавалось с первого раза запустить свой драйвер tcpunlim. И похоже такое было только при работе с проактивной защитой беты KIS (Касперский)
  • [FIXED] Неправильно перетаскивались линии на Визуальной Карте после группового выделения объектов
  • [FIXED] Небольшое несовпадение позиций хостов в режимах визуальной карты и плана
  • [FIXED] NetProxy: в пресетах не сохранялся локальный адрес
v2.93 [08.03.2006]
  • [FIXED] Полная совместимость с XP/SP2 без необходимости патчения tcpip.sys (работает только если НВ запускается с правами администратора)
  • [FIXED] Падал с ошибкой при выходе если не было открыто ни одного нетвочера
  • [FIXED] При первой перепроверке с включенными RAW сокетами и выключенным пингом свой собственный компьютер мог показываться как выключенный
  • [FIXED] Возможное зависание речека, при включенных RAW сокетах, использовании WinPCap и активном dial-up подключении
  • [FIXED] Возможное зависание речека, при включенном речеке пингами, при интервале посылки запросов 0 и при количестве комьютеров в сети больше 2000
  • [FIXED] Утечка памяти при использовании драйвера WinPCap при наличии активных dialup подключений
  • [FIXED] TCP-SYN пакеты при речеке с использованием RAW сокетов теперь генерируются правильнее
  • [FIXED] Ошибка NetView was failed to create swapfile при попытке запуска NetView под пользователем, не имеющем прав на запись в каталог NetView
  • [FIXED] На некоторых системах картинки в менюшках рисовались на белом фоне
  • [FIXED] Network scaner: Проверка корректности диапазона портов проводилась даже для тех типов сканирования, в которых этот диапазон не использовался
  • [FIXED] NetSearcher: Если включить галку Autoseach on и оставить пустым поле для расписания то НВ выдавал ошибки Division by zero (было исправлено через день после релиза)
  • [FIXED] NetSearcher: Некоторые проблемы с поиском по FTP
  • [FIXED] NetProxy: NetView мог упасть после закрытия прокси если в нем на момент закрытия были установлены активные соединения
  • [FIXED] Scripts: DeleteTooOldHosts.nvs был с синтаксической ошибкой (было исправлено через день после релиза)
  • [ADDED] Настраиваемые контекстно-зависимые панели инструментов
  • [ADDED] Возможность редактировать настройки списков по-умолчанию
  • [ADDED] В настройках отображения столбцов хостлиста добавлены галки (отображать/скрывать столбец)
  • [ADDED] При сканировании в Resources Scaner NetSearcher с перепроверкой результаты перепроверки влияют на состояние хостов в хостлисте
  • [ADDED] Resources scaner: Пункт контекстного меню в дерева ресурсов, позволяющий пересканировать результаты сканирования выделенного хоста
  • [ADDED] NetSearcher: Возможность приоритетной сортировки сохраняемого файллиста по времени нахождения
  • [ADDED] NetSearcher: Запись полного размера найденных на хосте файлов в метапеременную srchsz_ИМЯПРЕСЕТА
  • [ADDED] NetProxy: поддержка авторизации в http прокси
  • [ADDED] Scripts: HTTP.nvs теперь позволяет указывать какие файлы нельзя показывать пользователям. Делается это путем включения у файлов, которые надо скрыть (либо у каталога в котором они лежат) аттрибута HIDDEN или SYSTEM
  • [ADDED] Scripts: Добавлены скрипты в Network Scaner'е для сканирования UDP портов 137 (NetBios Name Service) и 53 (DNS). Скрипты (если они включены) гарантированно находят реальные сервисы на UDP портах, скрипт на 137 порт еще и резолвит имена и находит мастер-браузеров всех рабочих групп
  • [ADDED] WebCenter: Reload CMS (http://reloadcms.com) включен в дистрибутив NetView
  • [CHANGED] Значительно ускорена загрузка больших хостлистов
  • [CHANGED] Улучшено определение имен по IP адресам через NETBIOS
  • [CHANGED] Портлисты для сканирования портов разбиты на 2 подкаталога - Portlist\TCP и Portlist\UDP
  • [CHANGED] Более надежное резервное копирование .nvh файла и файлов настроек и их автоматическое восстановление в случае сбоя файловой системы
  • [PLUGINS] Добавлен плагин Wake it up! для удаленного включения компьютеров с помощью Wake-On-Lan
v2.92 [29.05.2005]
  • [FIXED] Значительно улучшена стабильность программы
  • [FIXED] Ошибка в добавлении листа, проявлялась например в создании нескольких листов с одинаковым именем при обновлении списка компов (Refresh)
  • [FIXED] Разные неприятности с AlwaysOnTop окнами - непоказывались хинты в некоторых ListView (показывались, но за окном), сбрасывался AlwaysOnTop у MiniMap окна после открытия второго MiniMap'а
  • [FIXED] Некоторые глюки с отрисовкой списка
  • [FIXED] Немного некорректно работала иконка в трее (например пропадала сигнализация о сообщении после речека)
  • [FIXED] Win'9x: NetView сохранял свой файл настроек не там где надо
  • [FIXED] Network scaner: Неверно работала опция сканирования только включенных из хостлиста
  • [FIXED] Resources scaner: Сбрасывались галочки с отмеченных хостлистов при автозапуске сканера при запуске НВ
  • [FIXED] Scripts: Скрипт HTTP.NVS тормозил заход на шары той системы, где он работал
  • [FIXED] NetMessenger: Если при включенном приеме сообщений с помощью NV отключить сетевую карту в системе, НВ через некоторое (обычно продолжительное) время падал
  • [ADDED] NetView WEB Center, позволяющий через браузер ходить по ресурсам сети, искать в сети файлы на базе встроенного в NetView HTTP сервера
  • [ADDED] Опциональное использование драйвера WinPCap. Полезно для систем в которых обычные RAW сокеты урезаны (читай - WinXP/SP2)
  • [ADDED] Ограничение на время опроса сети для рефреша
  • [ADDED] Открытие/закрытие окна программы одиночным кликом по иконке в трее
  • [ADDED] Настройка размера шрифта подписей компьютеров в режиме визуальной карты/плана (см. настройки списка)
  • [ADDED] TNVAREA в скриптовом движке для доступа к областям визуальной карты из скриптов
  • [ADDED] Показывается количество видимых хостов в списке
  • [ADDED] Показывается количество выделенных хостов в списке при выделении
  • [ADDED] NetSearcher: Возможность задавать списки для автоимпорта хостов при запуске поиска (в контекстом меню)
  • [ADDED] NetSearcher: Галочки в HostTable, позволяющие отключать поиск на заданных хостах без удаления их из HostTable
  • [ADDED] NetSearcher: Новый тип скриптов - управляющие (старые теперь называются скрипты-обработчики)
  • [ADDED] NetSearcher: Теперь одновременно могут работать несколько скриптов
  • [ADDED] Resources scaner и NetSearcher: Возможность задания интервала сканирования вместо конкретных времен
  • [ADDED] Resources scaner: Поле для фильтров-исключений
  • [ADDED] Resources scaner: Отображение одновременно имен и IP адресов компьютеров
  • [ADDED] Resources scaner: Отдельная опция для определения HTML заголовков на HTTP серверах
  • [ADDED] Resources scaner: Галка Recheck теперь работает и при загрузке из кэша. При этом перепроверки не происходит, а ресурсы показываются только с включенных компов (проверяются данные хостлиста)
  • [ADDED] NetProxy: SOCKS5 прокси с авторизацией
  • [ADDED] NetProxy: HTTP(S) прокси (пока без авторизации)
  • [ADDED] NetProxy: пресеты настроек
  • [ADDED] NetWatcher: Скрипты
  • [ADDED] Scripts: Добавлен ряд новых полезных функций
  • [ADDED] Scripts: Скрипт HTTP.NVS теперь поддерживает исполнение php скриптов. Для этого надо поставить PHP и прописать путь к php.exe в http.nvs
  • [ADDED] Scripts: Добавлен скрипт DeleteTooOldHosts.nvs умеющий автоматически удалять из хостлиста хосты, которые не были в онлайне дольше заданного количества дней
  • [ADDED] Scripts: Добавлен скрипт EditAnyVar.nvs позволяюший редактировать вручную любые переменные хостов из контекстного меню
  • [ADDED] Scripts: Добавлен скрипт NetWatcher\FreeResourcesForThis.nvs позволяющий закрывать шаринг при запуске любого из указанных в списке ехе-шников
  • [ADDED] Scripts: Добавлен скрипт NetWatcher\KickGreedUsers.nvs автоматически добавляющий в киклист тех пользователей, которые заходят на ваш компьютер не имея расшаренных ресурсов у себя. Опционально может при этом отправлять таким пользователям net send сообщения
  • [CHANGED] Дефолтовое название дефолтового списка Default было изменено на MyNetwork. Чтобы не путали с дефолтовым названием файла
  • [CHANGED] В конфигурации плагинов показываться только сами имена DLL файлов плагинов, а не полные пути
  • [CHANGED] NetSearcher: Более удобное редактирование фильтров
  • [CHANGED] Resources scaner: Теперь для проверки прав создается папка с фиксированным именем nv_access_check. Связано с тем что у некоторых сервера настроены так что создать папку можно а удалить - нет, что заканчивалсь весьма плачевно
  • [CHANGED] Resources scaner: В полях масок поиска и исключений теперь надо писать полные маски-шаблоны с *
  • [CHANGED] Traffic redirector был переименован в NetProxy
  • [CHANGED] Win'9x: Предел максимума количества подключений для речека теперь зависит от значения MaxConnections в реестре (см. http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q158/4/74.asp&NoWebContent=1)
  • [CHANGED] Win'9x: Разрешен PortListener. Правда в нем по умолчанию все порты выключены (используется файл cports9x.lst)
v2.90 [05.12.2004]
  • [FIXED] Если во время речека (глобального или персонального) изменить настройки программы сбивалось время последнего изменения состояния компа Last change (переменная lchtm)
  • [FIXED] Не работали RAW сокеты под Win'XP (а на RAW сокетах основаны речек RAW сокетами, перепроверка по IP пакету и traceroute в режиме TCP SYN)
  • [FIXED] В SpinEdit'ах по нажатию Enter'а и иногда самопроизвольно сбрасывались значения в 0
  • [FIXED] Не показывались всплывающие подсказки над большинством элементов когда НВ работал сервисом
  • [FIXED] При включенном авторазбиении по IP адресам устройства без IP адреса попадали на список 0.0.0.x
  • [FIXED] Размеры подписей хостов в режиме карты теперь рассчитываются соответственно длине подписи. Причем при включенном отображении заметки в качестве подписи теперь рассчитывается размер подписи соответственно заметке
  • [FIXED] При экспорте визуального плана текстура бралась не texture_plan.gif а texture.gif
  • [FIXED] При экспорте визуального плана происходил значительный сдвиг позиций хостов
  • [FIXED] Утечка ресурсов при удалении хостлиста. Правда пришлось убрать Flat скроллбары в режиме визуальной карты
  • [FIXED] Многократное иниицирование перепроверки при перепроверке вручную (по пробелу) для хостов находящихся в привязках
  • [FIXED] Трассировка маршрутов могла никогда не завершится, исправлена еще некоторая нестабильность при трассировке маршрутов
  • [FIXED] При редактировании области иногда поля ввода текста и выбора цвета не были видны
  • [FIXED] Скрипт htmlreport.nvs генерировал файллист, с ссылками, которые не хотела открывать Opera
  • [FIXED] Win'9x: Не сохранялся хостлист
  • [FIXED] Win'9x: Не открывались хосты
  • [FIXED] Win'9x: Проблемы с русскими именами хостов
  • [FIXED] Win'9x: Не работало ARP сканирование
  • [FIXED] NetSearcher: Некорректная сортировка файллиста по имени файлов
  • [FIXED] NetSearcher: Не заходил по FTP в папки имена которых содержали пробелы
  • [FIXED] NetSearcher: Не фильтровал по имени хоста в опции Skip if path include при поиске по FTP
  • [FIXED] NetSearcher: Баги при удалении из файллиста сразу нескольких файлов
  • [FIXED] NetSearcher: Не открывались ссылки сохраненного файллиста в Опере
  • [FIXED] NetSearcher: При генерации файллиста скриптом сохранял время файлов как GMT а не локальное
  • [FIXED] NetSearcher: Под Win'9x неработал режим обновления хостлиста
  • [FIXED] NetWatcher: После какого-то обновления для Windows стал показывать запущенные по сети exe файлы как шары. Теперь запущенные файлы рисуются отдельным цветом. Правда формат хранение лога NetWatcher'а теперь немного несовместим со старым
  • [FIXED] NetWatcher: Утечка памяти
  • [FIXED] NetWatcher: Под Win'9x не показывал открытые файлы
  • [FIXED] Network scaner: Некоторые проблемы со стабильностью и скоростью TCP сканирования с включенным резолвингом имен
  • [FIXED] Resources scaner: Небольшая утечка памяти
  • [FIXED] NetMessenger: При посылке длинных сообщений отсылающий НВ падал
  • [FIXED] Traceroute: Ошибка List index out of bounds при копировании строчек с таймаутом в буфер обмена
  • [FIXED] Port mapper: Некоторые ошибки в работе
  • [FIXED] Scripts Editor: Переделан интерфейс, стал значительно удобнее и быстрее
  • [ADDED] Возможность хранения метапеременных во время работы не в памяти, а в специальном файле. Для этого метапеременная должна иметь имя начинающееся с символа "!". В таких переменных можно хранить действительно много данных - место в памяти во время работы они почти не занимают, правда и обращение к ним происходит гораздо медленнее
  • [ADDED] Кэширование меню Resources (в метапеременные !nbcache и !ftpcache). Теперь ресурсы из кэша в меню появляются мгновенно (если к ним уже были обращения)
  • [ADDED] Если при правом клике на хостлисте держать нажатой клавишу Shift то меню Resources не появится, соответственно не будут запускаться потоки опроса списка ресурсов
  • [ADDED] Новая команда в Edit host\Advanced\Open command - "netsend:..." для открытия окна NetMessenger'а по даблклику по хосту
  • [ADDED] В меню Action дублируется контекстное меню текущего элемента
  • [ADDED] Немецкая локализация от Prister
  • [ADDED] Дополнительный метод определения имени хоста по его IP адресу - с использованием NETBIOS. Настройки методов определения (стандарный, через NETBIOS и их комбинации) - Preferences\Recheck. Подробности в хелпе
  • [ADDED] Опция скрытия подписей хостов в режиме карты/плана. В меню Settings (там же где Hide offline)
  • [ADDED] Опция Try ARP request if ping recheck failed на закладке Preferences\Recheck для детектирования включения зафайрволленных хостов вашего сегмента, не отвечающих на пинги
  • [ADDED] Индикация типа успешной проверки в столбце Connection буквами (S)-сканирования, (P)-пингом, (A)-получен ARP ответ при неуспешном пинге
  • [ADDED] Опция оптимизации TCP/IP стека винды на закладке Preferences/Recheck
  • [ADDED] Опция ограничения одновременно открываемых сокетов на закладке Preferences/Recheck. Нужна в больших сетях для уменьшения нагрузки на маршрутизаторы и свою систему. Так же это позволит сканировать порты если НВ работает под Win'9x
  • [ADDED] Текстуру списка или детально теперь можно делать отдельную, - для нее НВ вначале ищет в каталоге темы файл texture_list.gif, и только если не находит - используеткак раньше texture.gif
  • [ADDED] Возможность редактирования основных настроек по умолчанию для новодобавляемых хостов. В Preferences на месте хостлиста по умолчанию
  • [ADDED] Копирование текста (все столбцы) выделенных хостов в буфер обмена
  • [ADDED] Закрытие закладок на свичбаре по клику средней кнопкой мыши
  • [ADDED] NetSearcher и Resources scaner: Expand all и Collapse all в контекстном меню дерева ресурсов
  • [ADDED] NetSearcher: Опция не ведения файллиста самим нетсичером для экономии памяти. Все результаты при ее включении могут обрабатываться только скриптами
  • [ADDED] NetSearcher: При сохранении файллиста по шаблону новые переменные: %pathurl% и %pathnameurl%
  • [ADDED] NetSearcher: Дополненный PHP движок для поисковика от Костюченко Антона: searcher_php_2.zip
  • [ADDED] NetSearcher: Дополненный PHP движок для поисковика от Алексея Петрова: searcher_php_3.zip
  • [ADDED] NetSearcher: Пункт меню файллиста KillCopy для копирования файлов прямо из списка или дерева
  • [ADDED] NetSearcher: Теперь ругается если нажать на Старт а на закладке фильтры не указано ни одной маски поиска
  • [ADDED] Network scaner: При сохранени результатов в .txt файл сохраняются так же настройки сканирования
  • [ADDED] Network scaner: В выпадающем списке запоминаются 16 последних диапазонов сканирования
  • [ADDED] Network scaner: Колонка Responce при добавлении хостов в хостлист опционально сохраняется в переменную sc_resp
  • [ADDED] Network scaner: Колонка Port при добавлении хостов в хостлист опционально сохраняется в переменную sc_port
  • [ADDED] Resources scaner: Определение прав доступа на FTP
  • [ADDED] Resources scaner: Определение HTML заголовка ответов HTTP серверов
  • [ADDED] Resources scaner: Список хостлистов которые нужно сканировать
  • [ADDED] Resources scaner: Помимо ShareList.txt теперь так же сохраняется дерево шар в ShareTree.txt
  • [ADDED] Resources scaner: Автосохранение последних 10 масок сканирования
  • [ADDED] Resources scaner: Автооткрытие при запуске НВ если список времен для автозапуска сканирования не пуст
  • [ADDED] NetMessenger: Индикация иконкой в трее о приходе сообщения
  • [ADDED] NetMessenger: Возможность посылки сообщения сразу на несколько адресатов. Адресаты разделяются ; или ,
  • [ADDED] Scripts: Поддержка работы с БД из скриптов через делфийные классы TTable, TDatabase, TQuery и BDE
  • [REMOVED] Убрана опция Show shares count в общих настройках поскольку она зачастую являлась причиной тормозов и глюков. Теперь ее аналог имеется в плагине Workstation info - он позволяет задавать максимальное количество одновременных потоков запросов
  • [REMOVED] Убрана опция Advances search - теперь поиск всегда работает как Advanced
  • [REMOVED] Resources scaner: Сканирование с перебором имени юзера. Потому что очень медленное и похоже что неправильное с некоторых пор (с некоторых обновлений для винды)
  • [CHANGED] Новые картинки интерфейса (спасибо Вегиеву Руслану Станиславовичу)
  • [CHANGED] Теперь хостлист можно сохранять и во время речека, сохранение во время чтения хостлиста из файла по прежнему запрещено
  • [CHANGED] Улучшено поведении расширенного поиска: теперь ищется по всем включенным колонкам хостлистов и немного более "интеллектуально"
  • [CHANGED] Несколько ускорен автопоиск в сети новых хостов путем распараллеливания запросов определения IP адресов на 10 потоков при автодобавлении хостов в хостлист при его обновлении из сетевого окружения
  • [CHANGED] Изменено поведение опции динамических IP адресов с целью предотвращения ложных конфликтов IP адресов при добавлении хостов. Правда теперь при включении этой опции глобально или для некоторых хостов в хостлисте могут появлятся хосты с одинаковыми IP но разными именами
  • [CHANGED] Настройки цветов хостов (и еще фона списка) теперь перенесены из глобальных настроек НВ в индивидуальные настройки списка
  • [CHANGED] Теперь для того чтобы отредактировать подпись и цвет области, удалить ее или инициировать перепроверку находящихся в ней хостов надо щелкать правой кнопкой мыши на ее подпись (а не в любое место внутри нее как раньше)
  • [CHANGED] После добавления области она теперь автоматически переходит в режим редактирования
  • [CHANGED] Значительно улучшен (уменьшена нагрузка на CPU) метод сканировния без использования RAW сокетов
  • [CHANGED] Дополнительная оптимизация процедур загрузки и сохранения хостлиста
  • [CHANGED] Переменные route и dwlnk переименованы в !route и !dwlnk (чтобы хранились в свопе). При загрузке старого хостлиста переменные автоматически преобразуются
  • [CHANGED] Уменьшена нагрузка на HDD при загрузке (за счет оптимизации чтения INI файлов настроек и языка). Ускорено сохранение/чтение .nvh файлов с переменными больших объемов.
  • [CHANGED] Обновлен ethcodes.txt с таблицей соответствия MAC адрес - производитель (для свойств компов)
  • [CHANGED] Теперь у NetView и плагинов разные INI файлы для хранения настроек
  • [CHANGED] В плагиновом API появился новый способ обращения к функциям NV: указатель на функцию типа NVUPCALL в NVPLUGINGOINFO, его можно (и нужно) использовать вместо SendMessage - это предотвращает частичное блокирование интерфейса NV во время вызовов NMPN_GETSHARELIST и NMPN_GETRESLIST
  • [CHANGED] Win'9x: Разрешена опция общей проверки сканированием
  • [CHANGED] NetSearche: При добавлении хостов из списка не добавляются те, у которых отключен FTP и NETBIOS
  • [CHANGED] NetWatcher: Нетвочер при загрузке теперь не лазит по всем файлам имеющимся в логе для того чтобы достать из них иконки, что ускорило загрузку и уменьшило занимаемую после загрузки память
  • [CHANGED] NetWatcher: Теперь по ограничению на количество коннектов не кикаются те, кто в keep-листе
  • [CHANGED] NetWatcher: По ограничению на количество коннектов теперь кикаются новоподключенные пользователи
  • [PLUGINS] Start commands: изменился формат строки команды. (см встроенный хелп). Кроме того теперь в командную строку можно вставлять любые переменные хоста
  • [PLUGINS] Workstation info: Исправлена ошибка, приводящая к блокировке автоматических обновлений информации после ручного обновления
  • [PLUGINS] Workstation info: Теперь можно задавать имена переменных куда сохранять инфу
  • [PLUGINS] Workstation info: Появился подсчет количества ресурсов хостов в заданную переменную
  • [PLUGINS] Workstation info: Появился опрос версии ОС в заданную переменную
  • [PLUGINS] Workstation info: Появился опрос комментария сервера в заданную переменную
  • [PLUGINS] Workstation info: Появилось многопотоковое сканирование информации и ограничением количества потоков
  • [PLUGINS] Workstation info: Появилась опция обновления информации после индивидуальной перепроверки хоста (или его открытия с перепроверкой)
  • [PLUGINS] Alerter: Появилась сигнализация об окончании сканирования в Resources scaner
  • [PLUGINS] Alerter: Появилась возможность вставки в произносимый/выводимый текстпроизвольных переменных хоста для которого произошло событие
  • [PLUGINS] Alerter: Появилась кнопка, нажав которую можно узнать какие именно голосовые движки присутствуют в системе
  • [PLUGINS] Alerter: Появилась кнопка, нажав которую можно протестировать выбранные настройки голоса
  • [PLUGINS] Shutdown it!: Добавилась авторизация самим плагином по заданному логину/паролю в настройках хоста (раньше авторизацию проводил только НВ при клике правой кнопкой мыши на хосте, это не всегда срабатывало, и не срабатывало если для хоста был отключен NETBIOS)
  • [PLUGINS] Shutdown it!: Добавилась возможность автоперепроверки состояния хоста через время таймаута+ 60 секунд после его выключения
  • [PLUGINS] Tray network: Теперь не блокирует меню на время опроса ресурсов
  • [PLUGINS] Tray network: Теперь показывает и ftp ресурсы
  • [PLUGINS] Tray network: Картинки беруться из интерфейса НВ, в том числе и для ресурсов
  • [PLUGINS] Новый плагин - DNS query. Позволяет проводить как простой резолвинг IP <--> hostname, так и делать более сложные DNS запросы
v2.81 [03.05.2004]
  • [FIXED] Некоторые баги в хелпе English.chm
  • [FIXED] NetSearcher: при повторном сохранении пресета создавался новый с таким же именем
  • [FIXED] После Unlink selected/all не сбрасывалось выделение с привязанных хостов
  • [FIXED] Баги в окне редактирования хоста - если редактировать сразу много хостов некоторые свойства перезаписывались у всех хостов даже если в процессе редактирования они не изменялись юзером
  • [FIXED] Виндой кэшировались обращения к FTP ресурсам
  • [FIXED] Scripts: Подправлен htmlreport.nvs
  • [FIXED] Plugins: Исправлен плагин Workstation info (теперь версия 1.3). Он падал если список юзеров на проверяемом хосте был длиннее примерно 500 символов
  • [ADDED] Опция установки таймаута FTP операций в Preferences\Options
  • [ADDED] Опция установки предпочтения способа FTP подключения - раньше если для хоста были включены и активный и пассивный режимы FTP то НВ вначале пытался подключиться используя активный, а при неудаче - пассивный режим. Теперь в Preferences\Opening такое поведение можно изменить на обратное
  • [ADDED] Нахождение и отображение в ShareScaner и меню Shares HTTP ресурсов сети. Включается на закладке Opening окна Preferences
  • [ADDED] NetworkScaner: Опция De-duplicate names
  • [ADDED] ShareScaner: Отображение списка ресурсов в виде дерева
  • [ADDED] NetSearcher: Можно задавать максимальную вложенность каталогов
  • [ADDED] Plugins: Новый плагин - Shutdown it!. Позволяет удаленно выключать компы. Естественно если имеются права администратора на удаленной машине
  • [CHANGED] NetworkScaner: можно указывать диапазоны IP до 255
  • [CHANGED] NetSearcher и Resources scaner: Увеличено максимальное количество одновременных потоков до 255. Хотя очень не рекомендую юзать такое количество :)
  • [CHANGED] ShareScaner: Убрано автоматическое изменение ширины столбцов в списке ресурсов
  • [CHANGED] ShareScaner: новое название - Resources scaner
  • [CHANGED] TraceRoute: при сохранении результаты дописываются в файл а не перезаписывают его как раньше
v2.80 [26.04.2004]
  • [FIXED] Не снимался цвет подсвеченных Alert'ом компов по клику мышкой
  • [FIXED] Невозможность запуска под 9x виндами в последнем исправлении
  • [FIXED] Нестабильность при активном использовании скриптов. Значительно оптимизирована их работа
  • [FIXED] Самопроизвольный вылет скриптов при использовании метода TNVHost.GetMetaVar
  • [FIXED] Неверно происходила перепроверка в NetSearcher и ShareScaner - если были включены оба метода перепроверки (порт и пинг) то доступность хоста для поиска проверялось только коннектом на порт
  • [FIXED] Некоторые ошибки с закрытием MDI окон
  • [FIXED] Возможность появления к хостлисте хостов с именами содержащими большие буквы. Так как сравнение строк в NV идет с различием регистра появление таких хостов приводило к различным проблемам
  • [FIXED] Хосты с выключенной перепроверкой нельзя было переключить вручную (из скрипта или плагина) в офлайн
  • [FIXED] Часто открытие свойств компа затягивалось до бесконечности
  • [FIXED] При включении опции скрытия выключенных компьютеров терялись позиции хостов
  • [FIXED] Неправильная сортировка по столбцам содержащим дату-время
  • [FIXED] Иногда загрузка плагинов могла вызывать ошибки типа '434324234' is not a valid integer value с последующими глюками отображения менюшек
  • [FIXED] Не всегда восстанавливалась ширина столбцов в режиме Details
  • [FIXED] Visual map: Глюки отрисовки визуальной карты\плана под Win'XP/2003
  • [FIXED] Visual map: При сортировке в режиме карты хосты вылазили из своих областей и выстраивались в общие ряды
  • [FIXED] NetSearcher: Нестабильность при работе
  • [FIXED] NetSearcher: Режим List-update в поисковике неверно работал при ручном запуске поиска (не по таймеру)
  • [FIXED] NetSearcher: В режиме List-update не обновлялось имя .sfl файла при создании нового пресета
  • [FIXED] NetSearcher: Only if sharename include не работал для FTP (сейчас в этом случае за имя шары считается имя каталога 1го уровня в FTP)
  • [FIXED] NetSearcher: Не работали фильтры по фрагментам пути
  • [FIXED] NetSearcher: Не сохранялись ширины колонок файллиста в пресет
  • [FIXED] NetSearcher: Сортировка по размеру файлов
  • [FIXED] NetSearcher: Не работали кнопки KillCopy и иногда Ping (ошибка на странице) если в именах файлов файллиста были символы '
  • [FIXED] NetSearcher: Ошибка с определялением размера файлов при поиске по FTP ресурсам
  • [FIXED] NetSearcher: Не срабатывал автопоиск по таймеру если задавалось 0 часов или 0 минут
  • [FIXED] NetSearcher: При закрытии окна поисковика удалялся по-умолчательный файл состояния default.sfl
  • [FIXED] NetWatcher: Некоторые исправления для win'9x
  • [FIXED] Network scaner: записание при выполнении Add selected to hostlist
  • [FIXED] IP logger: Вылет в XP при открытии Connections в предпоследнем исправлении
  • [ADDED] Возможность работы сервисом. Включается и настраивается на соответствующей закладке в Preferences
  • [ADDED] NVAPI.DLL которая позволяет получать простой доступ к данным NetView из других программ. Описана в хелпе. Устанавливается в системный каталог
  • [ADDED] Компонент для Borland Delphi и C++ Builder'а с помощью которого можно получить доступ к запущенному NetView, найти можно в архиве borland_api.zip в каталоге NetView
  • [ADDED] Опция начальной загрузки с пониженным приоритетом - чтобы не тормозить систему и сам NV загрузкой большого хостлиста
  • [ADDED] Опция отключения создавания копии файла хостлиста при запуске - для того чтобы НВ быстрее грузился, если сохранность информации неважна
  • [ADDED] Общие скрипты обрабатывающие различные события, которые можно было делать раньше только с помощью плагина Scripter теперь встроены в сам NV и поэтому программа установки если находит scripter.dll то удаляет его. Настройки таких скриптов - в Preferences
  • [ADDED] Привязки для хостов в хостлисте - для хоста можно задать список хостов от которых зависит его состояние - пока включен хотябы один хост из этого списка хост будет включен. Работает только если отключена обычная перепроверка. Задается в окне редактирования хоста
  • [ADDED] Добавились еще дополнительные команды которые можно навесить на даблклик по хосту вместо стандартного открывания - редактирование, перепроверка, перетрассировка, запуск командной строки (на закладке Advenced окна редактирования хоста). Появилась возможность оповещения плагинов и скриптов о даблклике (через одну из новых команд)
  • [ADDED] Редактор скриптов с подсветкой синтаксиса и некоторыми другими прелестями
  • [ADDED] Возможность проверки коннектом не на один а на до 8-ми различных портов. Порты для сканирования задавать через ;. Список открытых портов заносится после сканирования в метапеременную scan
  • [ADDED] Возможность устанавливать положение Windows switchbar'а сверху, снизу, илева или справа окна перетаскиванием мышью
  • [ADDED] Сканирование портов с использованием RAW сокетов, входящих в состав Windows 2000 и выше и доступных в режиме администратора. Использование RAW сокетов позволяет значительно уменьшить нагрузку на систему во время перепроверки с использованием сканирования портов. Включается в общих настройках
  • [ADDED] Режим пассивного прослушивания траффика в сети. При его включении НВ будет принимать все IP пакеты попадающие на сетевые интерфейсы. При получении хотябы одного IP пакета с выключенного хоста НВ проинициирует его перепроверку, попытка инициирования перепроверки может проводиться только один раз между глобальными перепроверками
  • [ADDED] Возможность поиска хостов при обновлении в определенных рабочих группах\доменах. Причем при ее включении НВ автоматически определяет тип ОС на найденных хостах и записывает его в переменную "os"
  • [ADDED] Настраиваемая опция авто-авторизации в случае отказа в доступе при подключении по NETBIOS. Раньше НВ просто пытался подключится под именем NETVIEW+случайное число, теперь его можно настроить либо вообще отключить эту фичу
  • [ADDED] Если окно хостлиста было закрыто при его сохранении в файл то после загрузки файла оно будет автоматически закрываться
  • [ADDED] Подсветка открытых в этой сессии хостов снимается автоматически через заданное в настройках время (60 мин по умолчанию)
  • [ADDED] Visual map: Максимальный размер картинки хоста (раньше 32х32) теперь можно задавать в общих настройках
  • [ADDED] Visual map: Опция Visible in visual map only в окне редактирования хоста. Опция Hide hosts without IPs in list в Preferences убрана за ненадобностью
  • [ADDED] Visual map: Миникарта для visual map/plan - отдельное свободно масштабируемое окошко со схемой карты (хосты -точки цветные, любые элементы можно включать\выключать). Ткнешь на какое-нибудь место на карте - она туда и скроллируется
  • [ADDED] Visual map: Возможность отмены (Undo) перемещения объектов на карте
  • [ADDED] Visual map: Новое свойство линий - псевдотрехмерность, имеет смысл для толстых линий (>5 пикселов толщина), и выглядит не в пример рулезнее плоских полосок :)
  • [ADDED] Visual map: Новое свойство линий - направленность, имеет смысл для толстых линий (>5 пикселов толщина), состоит в том что линия имеет градиент толщины от максимальной вначале до минимальной в конце
  • [ADDED] Visual map: Возможность удаления\добавления узлов линий
  • [ADDED] Visual map: Возможность редактирования свойств сразу нескольких линий (выделив их предварительно)
  • [ADDED] Visual map: Возможность задания картинок хостов в виде .gif картинок 32х32 (большие размеры автоматически преобразовываются в 32х32). С поддержкой GIF-анимации
  • [ADDED] Visual map: Возможность таскания карты\плана при нажатой средней кнопке мыши
  • [ADDED] NetScaner: UDP сканирование в Network Scaner'е. С возможностью использования скриптов
  • [ADDED] NetScaner: Прошедшее\оставшееся время сканирования
  • [ADDED] NetSearcher: Возможность задания нормальных масок файлов содержащих кроме * другие символы-шаблоны
  • [ADDED] NetSearcher: Новый способ генерации файллиста - по шаблонам
  • [ADDED] NetSearcher: Опция автоимпорта списка хостов где искать при запуске поиска
  • [ADDED] NetSearcher: Возможность обработки скриптами результатов поиска
  • [ADDED] NetSearcher: Дополнительная опция в List-update режиме - раньше файлы автоматически удалялись лишь после указанного времени ненахождения их поисковиком, теперь же можно включить еще удаление сразу после успешного сканирования хоста на котором они когда-то находились но были удалены из доступных ресурсов
  • [ADDED] NetSearcher: Дополнительная опция Force auto-authorization которая должна помочь с проблемами поиска по NetBios'у когда НВ работает как сервис
  • [ADDED] NetSearcher: Просмотр списка найденных файлов в виде дерева
  • [ADDED] NetSearcher: Возможность развернуть список файлов во все окно
  • [ADDED] NetSearcher: Сортировка Hosttable
  • [ADDED] NetWatcher: Опция Hide additional info in active для скрытия зачастую ненужной инфы о юзере на закладке Active connections
  • [ADDED] NetWatcher: Опция Don't use hostlist
  • [ADDED] NetWatcher: Опция Don't show opened pipes
  • [ADDED] ShareScaner: Опция автозапуска сканирования в указанное время суток, так же как для NetSearcher
  • [ADDED] NetMessanger: Под NT появилась возможность выбора режима посылки сообщений и появилась возможность получать сообщения посланые с помощью мэйлслотов самим NetMessenger'ом
  • [ADDED] Port listener: На закладке Options в разделе появился регулятор позволяющий выбирать между загрузкой CPU и эффективностью работы Port listener'а. Фактически он устанавливает минимальный порог задержки между коннектами от 0 до 500 мсек. Несколько оптимизирован сам Port listener
  • [ADDED] Port listener: На закладке Options в разделе появилась опция позволяющая ограничивать количество соединений с одного хоста. Эта опция защищает сервисы Port listener'а от DoS атак, не позволяя одному IP занимать все доступные места в очереди
  • [ADDED] Trace route: появился новый способ трассирования маршрута - с помощью посылок TCP SYN пакетов с установленным TTL
  • [ADDED] Terminal: Новый скрипт WhoIs.nvs - для получения информации о доменных именах или выделенных IP адресах с серверов WhoIs
  • [CHANGED] Скрипты для различных инструментов располагаются по различным каталогам в \Scripts
  • [CHANGED] Изменено поведение опции Static entry - раньше при обновлении списка нетвью просто пропускал такие хосты при сравнении имен и адресов что приводило к появлению дубликатов. Теперь дубликатов не будет - при нахождении статического хоста у которого адрес или имя совпадает с уже имеющимся он ничего не добавит
  • [CHANGED] Значительно уменьшено использование GDI ресурсов при большом количестве хостов
  • [CHANGED] Оптимизирована работа с метапеременными при большом их количестве и размерах
  • [CHANGED] Убраны ограничения на символы '#', '$', '\13', '\10' '\0' в метапеременных
  • [CHANGED] Плагин Alerter v1.7 и выше теперь не реагирует на компы из skip-листа
  • [CHANGED] Опция пассивного режима FTP теперь настраивается отдельно для каждого объекта в окне редактирования хоста
  • [CHANGED] Период перепроверок теперь задается в секундах
  • [CHANGED] Visual map: Фон визуальной карты и плана - теперь 2 отдельных gif файла темы - texture.gif и texture_plan.gif (раньше был только texture.jpg)
  • [CHANGED] Visual map: Фон визуальной карты/плана теперь будет виден лишь при условии наличия в системе IE4.0 или выше. Зато работает быстрее и безглючнее
  • [CHANGED] Visual map: Более удобное выделение и перетаскивание объектов на визуальной карте - подробности см. в хелпе или выясняйте на практике
  • [CHANGED] Visual map: Визуальная карта/план теперь экспортируются в GIF формате
  • [CHANGED] Visual map: Значительно оптимизирована прорисовка линий на визуальной карте
  • [CHANGED] NetSearcher: При нажатии Stop во время поиска файллист автоматически не сохраняется даже если включена опция Save filelist
  • [CHANGED] NetSearcher: Состояние файллиста в режиме обновления сохраняется автоматически при нормальном завершении поиска вне зависимости от сохранения файллиста в текст или html
  • [CHANGED] NetSearcher: При сортировке файллиста не обращается внимание на регистр
  • [CHANGED] NetSearcher: Убрана фича автокопирвания найденных файлов. Из скрипта это делается гораздо лучше
  • [CHANGED] NetSearcher: Быстрая реакция на нажатие кнопки Stop. Причем если поиск в режиме обновления завершен нажатием стоп то файлы состояния не обновятся
  • [CHANGED] NetWatcher: Сопоставляется имя файла открытого каким-либо пользователем и список расшаренных ресурсов открытых каждым компьютером. Позволяет немного решить проблему подключенных под одним и тем же именем пользователей
  • [CHANGED] NetWatcher: Уменьшена нагрузка на процессор при большом количестве одновременно открытых файлов
v2.79 [01.09.2003]
  • [FIXED] Некоторые ошибки Internal error. Restarting NetView is recommended. Please report author next data: [NV WP=...
  • [FIXED] Ошибки в алгоритме аутентификации на удаленной системе которые могли приводить к блокировке вашего аккаунта в домене
  • [FIXED] Раньше если несколько пользователей в NetWatcher зашли под одним и тем же именем то кик любого из них приводил к отключению всех
  • [FIXED] Неверное перемещение фокуса в некоторых окнах по нажатию Tab
  • [FIXED] Неверное Idle time в Port mapper
  • [FIXED] Исправлены некоторые ошибки в NetSearcher, приводящие к нестабильности
  • [FIXED] Исправлена неправильная работа Update mode в NetSearcher
  • [ADDED] Возможность мониторинга удаленных серверов (на которых имеются права админа) в NetWatcher'е. При этом возможен запуск нескольких инстанций нетвочера с указанием разных серверов
  • [ADDED] Возможность задавать имена пользователей в списках NetWatcher'а
  • [ADDED] Команда Open computer в окне активных подключений NetWatcher'а
  • [ADDED] Последовательная сортировка хостлиста по двум столбцам
  • [ADDED] Взаимодействие с хостлистом скриптов листенера, терминала и сканера
  • [ADDED] Встроенный скрипт listenera на 814м порту, позволяющий с помощью теримнала запущенного на другой машине управлять и получать сведения с запущенного нетвью
  • [ADDED] Опция Delete files not refreshed for ... hours в NetSeracher
  • [ADDED] Опция Boosted kick mode в NetWatcher'е для улучшения кикания юзеров. Незначительно повышает нагрузку на CPU при кикании зато работает намного эффективнее.
  • [ADDED] Опция Resolve hostnames в Network scaner'е. Отключение ее позволяет ускорить сканирование, не проводя определение имени компа на каждый отсканированный адрес
  • [ADDED] Новый способ сканирования в Network scaner'е - ARP сканирование
  • [ADDED] Дополнительные параметры при открытии хоста по doubleclick в строке на закладке Advanced
  • [ADDED] Возможность по doubleclick на хостах открывать другие списки
  • [ADDED] Возможность отображения фоновой текстуры в режимах списка и детальном. Включается в настройках хостлиста
  • [ADDED] Возможность отображения линий таблицы в режиме Детально. Там же
  • [ADDED] Возможность изменения хостлиста по умолчанию, на который добавляются найденные хосты. Preferences->закладка Hostlist
  • [CHANGED] Список пресетов в NetSearcher вынесен на отдельную закладку
  • [CHANGED] Временный файллист для update (*.sfl) mode в NetSearcher теперь сохраняется в каталог нетвью а не в temp как раньше
  • [CHANGED] Настройка отключения выделения цветом включенных\выключенных переместилась из Preferences в настройки хостлиста
v2.78 [16.07.2003]
  • [FIXED] Не всегда работала опция Force dynamic IP
  • [FIXED] Не работала перепроверка в Share scaner'е и NetSearcher'е если была включена проверка одновременно пингом и конектом
  • [FIXED] Глюки с наложением старых и новых каринок в менюшках
  • [FIXED] Некоторые глюки с многопотоковостью, о возможности которых я раньше не знал.
  • [FIXED] Немного подравнял плагиновый интерфейс.
  • [ADDED] Прозрачная поддержка FTP: включение FTP каталогов 1-го уровня в меню Shares и в Share Scaner. Поиск файлов одновременно по NETBIOS и FTP в NetSearcher'е. Чтобы указать нетвью какие хосты следует считать FTP нужно открыть их окно редактирования и включить галку Enable FTP. Кстати там же можно отключить NETBIOS для хоста, если он его не поддерживает.
  • [ADDED] Опция Hide hosts without IP in list позвляет прятать хосты без IP адреса в режиме списка или детальном. В Visual Map/Plan при этом их видно. Полезно для того чтоб не видеть в режиме списка всякие хабы, принтеры и телефоны визуальной карты.
  • [ADDED] Опция Minimize by ESC - теперь можно включать\выключать минимизацию по ESC.
  • [ADDED] Опция Disable colors in list mode - позволяет отключить отмечание цветом состояния хостов.
  • [ADDED] Опция Show windows switch bar позволяет включить панель переключения открытых окон в которой видны действительно видимые окна
  • [ADDED] На закладке Statistics нетвочера пишется время с которого работает служба сервера.
  • [ADDED] Update mode в поисковике - при этом список файлов постепенно пополняется новыми. В html файллисте новые файлы отмечаются цветом. Состояние найденных файлов при включенном update mode сохраняется автоматически соответственно пресетам.
  • [ADDED] Конфигурябельность картинок в меню Shares. (См окно Preferences).
  • [ADDED] Конфигурябельность столбцов хостлистов. Конфигурять в настройках листов (Edit list).
  • [ADDED] Опция Simple menus в Preferences позволяет вернуть менюшкам привычный серенький вид.
  • [ADDED] Опция Check only alertable hosts by timer в Preferences позволяет включить перепроверку по таймеру только для тех хостов для которых включен Alarm какой нибудь. Вручную перепроверяется все подряд как обычно.
  • [ADDED] Skip list в нетвочере позволяет задать список компов которые не надо логать.
  • [ADDED] В листах нетвочера теперь можно задавать не только имена компов, но и IPшники.
  • [ADDED] Опция Access rights в Share scaner. В выключенном состоянии не сканируются все пользователи, что позволяет значительно увеличить скорость сканирования и уменьшить риск получения по шее от администратора.
  • [ADDED] Опция Reconnect в терминале для автоматического реконекта после дисконекта в режиме клиента.
  • [ADDED] Ведение лога перепроверок с помощью самого нетвью. Для этого появится плагин Scripter позволяющий делать это и много еще чего более гибко.
  • [CHANGED] Убрана опция не показывания размера файлов в NetSearcher. Немного оптимизирован его алгоритм.
  • [CHANGED] Теперь при ошибке компиляции скрипта пишется в какой строке какая ошибка.
  • [CHANGED] Оптимизирована прорисовка списка хостов и списка Connections в IP Logger.
  • [CHANGED] Иконка в трее восстанавливается после падения шелла.
  • [CHANGED] Содержимое всплывающей подсказки хоста - это текст в полях соответствующих включенных колонок списка.
  • [CHANGED] Немного изменился интерфейс окон Preferences и Edit list\line
  • [CHANGED] Теперь при загрузке нетвью ищет .ini файл с настройками в своем каталоге, если не находит - ищет его в обычных местах
  • [CHANGED] Теперь при загрузке хостлист всегда разворачивается в максимальный размер.
  • [CHANGED] Справочные CHM файлы теперь лежат в каталоге Help, файлы языка - в Lng. В меню справки ? появляются все найденные chm файлы
  • [PLUGINS] Появился плагин Scripter позволяющий делать многие вещи на скриптах, написанных на паскале.
v2.77 [01.06.2003]
  • [FIXED] Глюк с самодобавлением насканированных хостов в хостлист из сканера
  • [FIXED] Глюк с невозможностью выделить несколько строчек в сканере
  • [FIXED] Глюк с нажатием Disconnect в редиректоре
  • [FIXED] Глюк с восстановлением шар в нетвочере в Win'9x
  • [FIXED] Глюк с восстановлением ширины колонок в списке после сортировки
  • [FIXED] В нетвочере не сохранялся Kick all except keeplist
  • [FIXED] В редиректоре символы с кодом 0 не записывались в лог и не отображались
  • [FIXED] Небольшая утечка памяти при работе со скриптами (4кб на каждый запуск)
  • [FIXED] Network scaner зависал если указать неверный диапазон IPшников
  • [FIXED] Глюки с количеством узлов на линии визуальной карты >16
  • [FIXED] Ошибка "Invalid window handle", появившаяся в обновленной версии 2.76
  • [ADDED] Лог в файл в редиректоре
  • [ADDED] Обратный отсчет времени справа сверху до следующего речека
  • [ADDED] Терминал теперь основан на скриптах. Имеются скрипты для RAW и ANSI TELNET терминалов и для организации простейшего чата
  • [ADDED] Более-менее подробный хелп по скриптам в netviewr.chm
  • [ADDED] Индикатор отсчета времени до следующего речека
  • [ADDED] В NetSearch в окне сохранения файллиста в пути\имени файллиста можно использовать комбинации %d -для вставки текущей даты и %t -текущего времени. Причем при сохранении файллиста нетвью будет создавать подкаталоги при необходимости
  • [ADDED] Сортировка в ShareScaner
  • [ADDED] Маски для поиска шар в ShareScaner
  • [ADDED] Редактирование портлиста в Port listener из менюшки по правому клику мышкой. Кнопки Edit portlist и Reload portlist убраны за ненадобностью
  • [ADDED] Сортировка данных в Network и Share Scaner'ах
  • [ADDED] Сортировка ресурсов появляющихся в контекстом меню Shares по алфавиту
  • [ADDED] Возможность отключать показывание "скрытых" ресурсов
  • [ADDED] Возможность изменять горячие клавиши в менюшках - они теперь прописаны в .lng файлах.
  • [CHANGED] Многопотоковый движок трафик редиректора - теперь он не виснет при флуде
  • [CHANGED] Многопотоковый ShareScaner - теперь в 5-10 раз быстрее находит шары Ж;-)
  • [CHANGED] ShareScaner теперь сохраняет список шар в каталог Export
  • [CHANGED] Менюшки стали красивее Ж)
  • [CHANGED] Всякие даты и времена приводятся к одинаковой длине чисел
  • [CHANGED] Прекомпиляция скриптов- теперь скрипты работают во много раз быстрее чем раньше
  • [CHANGED] Network scaner теперь перебирает адреса начиная с младшего разряда
v2.76 [07.04.2003]
  • [FIXED] Баги в Netwatcher - не всегда показывались соединения под 9х\МЕ, не всегда показывались соединения если нвозможно было определить IP, подвисания на время определения IP новых пользователей, глюки с прорисовкой.
  • [FIXED] Не работал логин под нужным пользователем\паролем (см Edit hostlist->Advanced)
  • [FIXED] Глюк с тормозами в ХР при переключении в режим Visual map/plan.
  • [FIXED] Глюк с плагином devices при котором устройства иногда добавлялись на Default хостлист вместо текущего.
  • [FIXED] Нельзя было задавать ключи запуска для открытия хостов внешней программой
  • [FIXED] При обновлении списка стандартным методом не отображался Progress bar на панели, что создавало впечатление что нетвью подвис.
  • [FIXED] Некоторые баги при переключении окошек.
  • [FIXED] Некоторые проблемы в Port mapper, настройки редиректора теперь сохраняются.
  • [ADDED] Проверка может осуществлять не только пингом или конектом на порт, но и тем и другим одновременно - в этом случае нетвью вначале пытается установить конект на заданный порт, если не получится - пингует хост.
  • [ADDED] Линии на карте могут иметь узлы
  • [ADDED] NetSearcher теперь умеет начинать поиск в заданное время автоматически. При выходе нетвью запоминает какие поисковики и с какими пресетами работали.
  • [ADDED] IPLogger пишет какая программа держит открытым порт. Правда только под ХР.
  • [ADDED] Поддержка скриптов на Pascal'еподобном языке (использован Innerfuse Pascal Script engine). С их помощью можно организовать "продвинутое" сканирование TCP портов (в будущем и UDP), а так же прикрутить к PotListener эмуляторы работающих сервисов (и даже не только эмуляторы Ж:-)). Работающие скрипты для некоторых служб уже есть.
  • [ADDED] При сохранении html файллиста, на страницу можно добавить кнопки KillCopy для копирования файлов с помощью килкопи.
  • [ADDED] По MAC адресу определяется тип сетевой карты на удаленном хосте.
  • [ADDED] При сохранении html файллиста, на страницу можно добавить кнопки Ping напротив каждой ссылки - чтобы прежде чем открывать ссылку можно было проверить в онлайне ли хост. Кроме того ссылки на путь открываются теперь в новом окне.
  • [ADDED] По MAC адресу в свойствах хоста определяется производитель сетевухи.
  • [ADDED] Опция Force dynamic IP в Preferences и в настройках хоста. Позволяет включить определение IP при каждой перепроверке для каждого хоста либо для всех. Для поддержки DHCP.
  • [ADDED] Опция Static entry в настройках хоста - позволяет сделать хост статическим - то есть при перепроверках никаких Resolv'ам он подвергатся не будет и никуда не денеться. Полезно для мониторинга за отдельными сервисами на сервере.
  • [ADDED] Двухступенчатое резервное копирование хостлиста при запуске.
  • [ADDED] Пункты меню для копирования в буфер обмена в TraceRoute и сканере сети.
  • [CHANGED] В поисковике можно сортировать файлы по клику на заголовках столбцов.
  • [CHANGED] HTML файллист поисковика стал "красивее" - появились линии таблички.
  • [CHANGED] MAC адреса теперь определяются не только у компов из "своего" сегмента.
  • [CHANGED] При работе с плагинов Devices иконки не отображались если не была включена какая-нибудь тема хостлиста. Так же теперь можно задавать абсолютные пути к картинкам - контролируется по знаку ":" на второй позиции.
  • [CHANGED] Оптимизирована работа IP Logger'а. Исправлены некоторые ошибки в нем.
  • [PLUGINS] Изменения в структурах NVLINE и NVHOSTдля поддержки линий с узлами и "на будущее".

v2.75 [03.02.2003]

[FIXED] Баги в Visual Map - терялись/неправильно отображались позиции хостов на карте, если таскать 2 иконки хостов на каждой - по одному концу одной линии, то линия закреплялась только за одной иконкой.

[FIXED] Баги в интерфейсе с плагинами - нетвью имел тенденцию падать с работающим Alerter'ом (Спасибо Voland'у). С Devices он падал при удалении группы хостов.

[FIXED] Нетвью мог упасть при удалении хостлиста.

[FIXED] Нетвью подвисал при операции resolve name, которая проводится при добавлении в список хоста с IP или именем, которое уже имеется в списке.

[FIXED] NetWatcher ругался если всплывал в Compact mode, если закладка Active connections не являлась активной.

[FIXED] Окно Save filelist NetSearcher'а было без надписей элементов в русском интерфейсе.

[FIXED] Имя хостлиста в списке кнопки на панели инструментов обновлялось только при его активации.

[FIXED] NetMessenger не открывался из Tray меню.

[FIXED] Утечка памяти при добавлении линии (заметна при частом проведении Refresh list при включенном перечитывании файла хостлиста).

[ADDED] Полноценный русский .chm хелп (его вы сейчас и наблюдаете [image]) благодаря Владимиру Манову.

[ADDED] Режим Visual plan - Visual map уменьшенный в 2 раза, и без возможности таскания элементов.

[ADDED] Переключаться между режимами отображения можно клавишами <+> и <->.

[ADDED] Visual map имеет фиксированные размеры. Задаються в Hostlist settings.

[ADDED] Области (Area) в Visual map. Такие цветные прямоугольники, имеющие подпись и хосты внутри их можно перепроверять одним кликом. К тому же упорядочивание хостов оставляет их в своих областях.

[ADDED] Если начать рисовать линию и держать Ctrl нажатым то линия будет крутится под углом кратным 45 градусов. При нажатом Ctrl хостлист скроллируется колесом мыши по горизонтали.

[ADDED] Экспорт визуальной карты в .jpg файл. Качество картинки задается в Preferences. В свойствах списка можно включить автоэкспорт после каждой перепроверки.

[ADDED] Опция Show notes as caption в Preferences позволяет отображать в качестве подписей хостов Custom comments в режиме Visual map.

[ADDED] Опция Re-read hostlist в Preferences. Теперь можно отключить перечитывание хостлиста при каждом речеке и связанное с ним мельтешение окон и возможный самопроизвольный забор фокуса клавиатуры.

[ADDED] Опция Autosort hostlist - при включении после каждого речека автоматически сортируются все хостлисты, которые не в режиме Visual Map.

[ADDED] Startup delay - помогает устранить проблемы с отложенным запуском драйверов. (Когда нетвью запустился а сети еще нет [image]).

[ADDED] В NetWatcher'е на закладке Shares появился пункт меню- Close share, позволяющий полностью закрыть расшаренный ресурс.

[ADDED] IP Logger умеет убивать соединения на закладке Connections. Правым кликом мышки.

[ADDED] NetWork scaner умеет сохранять результаты в текстовый файл либо в файл-хостлист.

[ADDED] TraceRoute умеет сохранять результаты в текстовый файл на диске.

[CHANGED] Расширение файла-хостлиста по умолчанию теперь .nvh а не .sam. Формат файла не изменился.

[CHANGED] Опция Clear DNS suffixies теперь не просто чекбокс, а поле в котором можно ввести через ; какие именно суффиксы удалять. Либо поставить в этом поле * - тогда будут удаляться суффиксы всех хостов, имя которых начинается не на www.

[CHANGED] Немного изменился формат лог-файла перепроверок - имена хостов в списке начинаются с ! для облегчения автоматической обработки.

[CHANGED] В LE версии нету NetWatcher'а. Зато он теперь доступен как отдельная программа KillWatcher.

[CHANGED] NetWatcher теперь прячется при повторном нажатии горячей клавиши.

[CHANGED] NetView автоматически прячется в трей при включенной опции Minimize on startup только при автозапуске т.к. он при этом запускается с ключом /startup.

[PLUGINS] Изменения в интерфейсе плагинов - не поддерживается NMPN_SETTINGS, установки лучше читать из .ini.

[PLUGINS] Хосты у которых отключена перепроверка не становяться автоматически Always on после каждой перепроверки, что позволяет плагинам управлять состоянием хостов.

[PLUGINS] Появился флаг NVACTION_EDIT - открывает окно редактирования для указанного хоста.

[PLUGINS] Появился флаг NVOBJ_HOSTNOIP - позволяет плагину добавлять хост без IP, выключая автоопределение IP по имени.

[PLUGINS] Появился флаг NVACTION_IMGEXPORT - уведомляет плагины о звершении экспорта карты и позволяет инициировать экспорт.

v2.74 [02.12.2002]

[FIXED] Много багов, приводящих к подвисанию/всяческим глюкам программы. Thanks Voland за трехнедельный отлов оных.

[FIXED] Несохранение настроек в NetworkScaner и в IP Logger.

[FIXED] Не отображались комментарии хостов в стандартном режиме опроса сети.

[FIXED] Иногда при удалении хост удалялся только из текущего листа, в основном списке он оставался.

[FIXED] Проблемы с Windows XP.

[FIXED] Нельзя было добавить больше одного устройства без IP адреса.

[ADDED] Многоязыковый интерфейс. Пока есть только русский и английский языки. Менять из Preferences->Language, после изменения нужно перезапустить программу.

[ADDED] Поддержка Windows XP тем (Кнопки круглые и чекбоксы зеленые.Ж:-))

[ADDED] Опция Allow multiple instances - разрешать запуск многих компий NetView. По умолчанию отключена, что запрещает запуск новой копии NetView если одна уже работает.

[ADDED] Опция Minimize on close - сворачивает окно нетвью при нажатии на крестик. Выйти из нетвью при этом можно только из меню.

[ADDED] Изменения интерфейса NetWatcher'а. В NetWatcher'е можно вести kick/keep/popup списки не просто на компьютеры, но и на шары. То есть можно запретить такому-то компьютеру лазить туда-то и туда-то. Или запретить лазить везде, кроме определеных шар.

[ADDED] Закладка Shares в NetWatcher'е. Там два списка - Enabled и Disabled. Шары можно временно прятать, а потом опять восстанавливать по-отдельности, или все сразу.

[ADDED] Закладка Ports для свойств компьютера. При открытии свойств хост автоматически сканируется на предмет открытых портов по списку, хранящемуся в default.plt, результаты в этой закладке.

[ADDED] NetMessenger теперь работает и под Win'9x (Отправляет и принимает сообщения). Под NT/2000/XP умеет останавливать/запускать службу сообщений.

[ADDED] Пункт Clear map в контекстном меню Route map.

[CHANGED] NetSearcher умеет заходить на хосты при поиске по IP адресу, если такой метод указан в Preferences.

[CHANGED] В NetworkScaner'е диапазоны адресов теперь задаются в следующем виде: 192.168.7-15.10-100;10.103-105.10.10-50 и тп. Настройки сканирования сохраняются при выходе из программы. Присутствуют дополнительные .plt файлы: services.plt со списком портов основным сетевых сервисов, games.plt с играми, ну и trojans.plt.

[CHANGED] В NetMessenger появляется список онлайновых хостов, клоторым можно слать мессаги.

[CHANGED] Ускорена прорисовка в нетвочере.

[CHANGED] Balloon hints в режиме Visual map.

[CHANGED] В Last change время пишется на первом месте.

[CHANGED] При нажатии на крестик окна теперь прячутся (раньше просто сворачивались).

[CHANGED] NetWatch и плагины теперь включаются автоматически только после завершения первого рефреша-речека. Сделано для устранения некоторых проблем.

v2.73 [06.11.2002]

[FIXED] Баги бета версии - не работал route map, ошибки при работе с хостлистом, minimize on startup etc.

[FIXED] Падение NetWatchera при Popup on connect

[FIXED] Некоторые ошибки NetWatchera под 95 при отображении иконок файлов.

[ADDED] Параметр tries при проверке пингами. Максимальное количество эхо запросов при проверке, прежде чем нетвью решит что хост умер.

[ADDED] Индивидуальные параметры проверки для хостов - тип перепроверки (порт или пинг), таймаут и количество попыток для пингов, номер порта для проверки конектом на порт. Можно даже задавать различные периоды перепроверок путем пропуска n основных проверок списка перед каждой проверкой хоста.

[ADDED] Возможность задания имени пользователя и пароля для коннекта на компьютер по умолчанию.

[ADDED] Разные кустомизированные картинки для онлайн-офлайн машин.

[ADDED] Alarm для хостов можно настраивать индивидуально - т.е. для одного при переходе в онлайн, для другого при переходе обратно, а можно и то и другое вместе.

[ADDED] Можно настроить так, чтобы хост по двойному клику открывался как http:.// странички или ftp сервера (да и не только). Так что создавайте карту с названием Web и размещайте на ней свои любимые линки, по IP открываться будет быстрее, т.к. не нужен DNS. Да и всегда перед носом будет цифра Connection по которой можно судить стоит ли пытаться на данный момент залезть на сервер. Все индивидуальные настройки хостов искать в Edit selected->advanced

[CHANGED] Share enum теперь недоступен как метод перепроверки. Можно только включить определение кол-ва шар на онлайновом хосте.

[CHANGED] Уменьшена загрузка CPU при перепроверке.

[CHANGED] Properies компьютеров открываются в окошке с закладками и скроллингом. В свойствах появился пункт Remote GMT - дата и время, uptime на удаленной машине. Заметьте, что эти данные доступны для любых Windows машин, и возможна автоматическая синхронизация локальных часов с временем на, к примеру, сервере. Для этого нужен плагин Time synchronizer.

v2.72-beta[30.10.2002]

[FIXED] Проблемы со скроллингом.

[FIXED] Пресеты в NetSearcher'ре не сохранялись.

[FIXED] Сортировка файллиста в NetSearcher по размеру файла

[ADDED] Многохостлистность. Хостлист можно разбить на подлисты, которые могут иметь различные визуальные темы. Переводить хосты на другие карты можно либо через Edit либо включить автоматическое разбиение по рабочим группам или IP сегментам.

[ADDED] Столбец Last change в котором пишется дата и время последнего изменения состояния хоста (включен-выключен).

[ADDED] Опция Requests interleave позволящая устранить проблемы с файрволлами, на которых установлен лимит на количество SYN или ICMP пакетов в единицу времени.

[ADDED] Быстрый поиск по хостлистам. Просто набираете фрагмент имени хоста или IP адреса и автоматически выделяется подходящий.

[CHANGED] Операция Process hostlist убрана.

[CHANGED] Под NT-образными системами основной и альтернативный методы опроса сети поменялись местами. Потому если у Вас только одна рабочая группа имеет смысл включить альтернативный метод.

[CHANGED] Убраны Alert'ы. Для них нужно ставить плагин NetView Alerter, который также реализует голосовое оповещение, с возможностью изменения параметров голоса и умеет вести лог всех оповещаемых событий. (Лезть сюда.). Alarm host работает несколько иначе - можно включать оповещение для включения и(или) выключения хостов.

[CHANGED] Большинство информации о хостах, списках и карте маршрутов сохраняется в файл-хостлист. Поэтому он теперь по умолчанию автоматически сохраняется по выходу из программы. Часть настроек переехала или Preferences в свойства хостлиста.(Контекстное меню-Current sublist-Settings)

[CHANGED] Плагиновый интерфейс немного изменился в связи с глобальной переделкой программы. Старый VoiceAlerter теперь не работает. Вместо него теперь NetView Alerter.

v2.71 [24.08.2002]

[FIXED] Сортировка файллиста в NetSearcher

[FIXED] Перетаскивание иконок компьютеров стало более "красивым"

[ADDED] NetView Light Edition - урезанная версия нетвью для пользования не-админами в сетях. Вырезаны всяческие злобные и просто не нужные в повседневной работе вещи - флудер, сканер, терминал, редиректор...

[ADDED] Связующие линии на карте. Линии имеют изменяемую толщину, цвет и дополнительные параметры, такие как длина, тип, скорость передачи и комментарий.

[ADDED] Опорная сетка карты. В Settings->Draw settings можно задать параметры рисования линий и разрешение опорной сетки.

[ADDED] NetSearcher, Terminal, Traffic redirector допускают запуск многих копий. Те чтобы запустить новый поисковик не останавливая старый теперь не нужно запускать еще один NetView.

[ADDED] Флажок Automatic в Network scaner. При установке сканер сам автоматически просканирует все сегменты и только в конце сканирования робко спросит перенести ли найденные хосты в основной список. + опция One diapazone при которой если в начале сканирования задать диапазон к примеру 192.168.7.5-192.168.7.50 и следующим будет найден сегмент 192.168.8.х, то х будет меняться от 5 до 50.

[ADDED] Опция Max connections в нетвочере позволяющая задавать максимальное количество одновременных соединенией. Остальные отключаются.

[ADDED] ShareScaner умеет сохранять шаролист в файл.

[ADDED] Smart logging в Preferences->logging. При включении при каждой перепроверке в лог будут записываться только те хосты которые выключились или наоборот, включились.

[ADDED] Silence mode в настройках. Помогает избавиться от всяких надоедливых мессагбоксов Ж;-).

[CHANGED] MDI интерфейс. Изменения связанные с переходом на MDI

[PLUGINS] Появился плагин - голосовое оповещение. Искать здесь.

v2.70 [18.08.2002]

[FIXED] Проверка по таймеру проводилась строго через заданный интервал времени, независимо от проверок вручную.

[FIXED] Окно теперь не появляется и пропадает при включенном Minimize on startup

[FIXED] Несохранение настроек программы если путь пользовательского профайла содержал русские буквы.

[FIXED] Маловероятный вылет при перепроверке.

[FIXED] Корректная сортировка по IP адресам.

[FIXED] Функция добавления компьютеров из Network scaner'а в основной список.

[ADDED] Поддержка плагинов. Русской документации пока нет. Есть только nvplugn.h с пояснениями (найти можно в каталоге нетвью после установки) и исходники плагина Nuker/flooder (искать здесь).

[ADDED] В Preferences можно задать текстуру для фона сети и значки для компьютеров по умолчанию. Все это называется Theme и представляет собой каталог с файлами в каталоге \themes, включается при Settings->View->Icons. Положения значков сохраняются после перемещения вместе с LMHOSTS. Можно задавать персональные картинки для компьютеров (.bmp размером 32х32): контекстное меню->Edit.

[ADDED] Фильтры ведения лога в IP logger.

[ADDED] Флажок multihomed в network scaner. При установке сканер начнет сканировать в начале Ваш сегмент. Затем, если в нем будут найдены multihomed хосты, и другие. Ваше дело - вовремя корректировать диапазоны адресов и нажимать кнопку Scan.

[ADDED] Опция Clear DNS suffixes в Preferences->Interface.

[CHANGED] Post-process hostlist не проводится при запуске программы при отключенном опросе сети.

[CHANGED] Nuker/flooder теперь существует отдельно в качестве плагина. Искать здесь. Регистрация мылом больше не нужна ибо надоело отвечать на весь этот спам Ж:-)

[CHANGED] Интерфейс программы - добавил горячие клавиши практически на все действия контекстных меню.

v2.69 [11.08.2002]

[FIXED] Появляющаяся точка в конце IP адресов списка машин. (баг появился в v2.68)

[FIXED] Проблемы в TrafficRedirector.

[FIXED] Возможное подвисание NetSearcher'a при большом количестве потоков поиска. Кнопка Pause теперь опять работает нормально.

[FIXED] При включенном Refresh hostlist on every recheck при периодическом обновлении списка не проходила перепроверка.

[FIXED] Возможной вылет нетвью в синий экран на Win9x при запуске программы при включенном NetWatcher'e.

[FIXED] Функция добавления компьютеров из Network scaner'а в основной список.

[FIXED/ADDED] Поддержка не-IP машин в сети. Нетвью теперь не падает при виде оных. Из всех видов перепроверок на них работает только один - trying connect to resource.

[ADDED] Alternative enum network method - альтернативный метод опроса сети. На тот случай если у Вас в сети есть новелловские клиенты (по идее должно работать).

[ADDED] MAC адрес в свойствах компьютера (только под 2000-ХР)

[ADDED] В NetWatcher'е появился флажок Show shares. По умолчанию включен. Сняв этот флажок Вы можете быстро убрать все расшаренные ресурсы. А поставив назад - восстановить опять.

[ADDED] IP logger - позволяет видеть список всех соединений и открытых портов на локальном компьютере. Ведет лог этого дела. Выводит статистику по UDP, TCP и ICMP протоколам, может предупреждать о flood атаках на основе этой статистики.

[CHANGED] Port listener доступен теперь как вкладка на окне IP logger'а.

[CHANGED] Ускорен рендеринг (прорисовка по-русски) окна нетвочера.

v2.68 [01.08.2002]

[FIXED] Зависоны нетвочера при Popup in compact mode.

[FIXED/ADDED] Нетвочер работает и под Win9x. Пока не очень прекрасно.

[FIXED] Свойства компьютера под Win'9x (правый клик- Properties) стали нормальными. Вообще нетвью под 9х виндой стал работать немного прямее.

[FIXED] Поддержка русского языка в NetMessenger (раньше мессаги слались в досовской кодировке).

[FIXED] Утечка чего-то-где-то в NT/2000 виндах, которая приводила к отказу winsock системы при сканировании больших диапазонов IP/портов (в сканере). После такого отказа система не могла создать ни одного нового сокета до перезагрузки. Как вывод - невозможность установить какие-либо соединения (интересно, это баг или фича виндов - таким способом можно запросто свалить винды из-под гостя, а может даже и с терминала)

[ADDED] Навернул IP/Port scaner. Теперь это Network scaner. Добавил помимо сканирования портов, DNS сканирование и сканирование пингами. Сканировать теперь можно не только диапазон адресов но и выбранные (из главного списка). При сканировании портов хосты бывают двух цветов - синие, которые разрывают соединение сразу после коннекта, и нормальные - зеленые. Под win9'x кстати все синие.(Ох уж эта 9х..).

[ADDED] Лог перепроверок. Вобщем то он уже был добавлен в версии 2.67 числа этак 20го июня.

[ADDED] Закладка Statistics в нетвочере. Показывает всякую полезную(а кому и не очень) инфу о сетевых SMB соединениях как-то сколько с вас скачали а сколько наоборот, скачали вы. Количество сетевых ошибок, установленных сессий и т.п.

[ADDED] TraceRoute окошковый.

[ADDED] Возможность отображения машин в виде посегментной карты. Пока экспериментальная. Поскольку на данный момент большой сети, необходимой для проверки этой фичи у меня нету, жду bugreports.

[ADDED] TrafficRedirector - слушает входящие соединения, как только ктото соединяется, устанавливает соединения на удаленный сервер и перенаправляет все данные туда (и наоборот оттуда -> своему клиенту).

[ADDED] Теперь нетвью прозрачно видит скрытые шары(оканчивающиеся на $). Прозрачно - значит их видно и в контекстном меню Shares, в них ищет файлы встроенный поисковик, шаросканер их находит всех, а не перебором.

[CHANGED] Поисковик стал многопотоковый - значительно ускорился поиск файлов в сети.

[CHANGED] Нетвочер стал еще и цветастым. Добавил горячую клавишу KickAll по нажатию которой можно кикнуть сразу всех, кто сейчас подключен. Извращения Shift+RClick убрал. Если у вас мышка трехкнопочная то нетвочер можно открыть кликом по средней кнопке на иконке в трее. Иначе лезте в контекстное меню или жмите Popup hotkey.

[CHANGED] Port listener теперь не вырубает клиентов сразу после установления соединения, а сажает всех в quene что дает дополнительные очки в пользу маскировки. Кроме того умеет посылать наглым подконнектившимся хакерям что нибудь (или просто посылать). Сверху listener'а появилась белая полоска - карта портов от 1 по 65535. Как только кто-то подключается - на ней появляется красная черточка в соответствующем месте.

[CHANGED] Нюкофлудерное окошко неработоспособно полностью. Без письма на мой адрес естественно Ж:-). Или без дебаггера Ж;-). Рассматривается идея ввести "тест на хакерность" для получения доступа к этому окошку.

[CHANGED] Косметические изменения интерфейса и общая оптимизация кода программы (как же без этого)

v2.67 [7.06.2002]

[FIXED] При проверке списка с использованием пингования некоторые машины в многосегментных сетях с серверами могли показыватся включенными даже если были на самом деле выключены (вероятность ошибки ~10%).

[FIXED] Вылет NetSearcher'а при сохранении пустого файллиста.

[ADDED] Теперь опции в NetSearcher'е можно сохранять в пресеты. Немного изменен интерфейс NetSearche'а.

[ADDED] NetMessenger аналог NET SEND позволяющий слать мессаги от любого имени и имеющий опцию непрерывной посылки.

[ADDED] Режим SingleClick opening при котором открытие ресурсов производится одним щелчком.

[ADDED] Открытие ресурсов с помощью внешней программы. Можно привязать например к Windows Commander.

[CHANGED] Значительно изменен интерфейс NetWatchera. Стал красивым и с иконками. Теперь показывает еще клиентские IP и ОС. Файлы в нетвочере теперь можно открывать двойным щелчком.

[CHANGED] Добавлены значки в меню компьютеров. Значки подменю Shares зависят от названия ресурса.

[CHANGED] В поисковике и ShareScaner'е перепроверка машин осуществляется с такими же настройками как заданы в Preferences,

v2.66 [3.06.2002]

[FIXED] Утечка дескрипторов при открытии файлов. Теоретически могла привести к необходимости перезапуска нетвью через несколько десятков тысяч открытий ресурсов.

[FIXED] Иногда в NetWatcher'е открытые в сессии файлы появлялись в логе по нескольку раз.

[FIXED] Проблемы со скроллингом в HideOffiline режиме.

[ADDED] Пункт Win'9x nuke на Flooder'е. Теперь оба пункта затенены. Для открытия шлите мне на мыло просьбу, абсолютно бесплатно, типа регистрация такая Ж:-).

[CHANGED] В терминале добавлена обработка контрольных цветовых кодов IRC.

На верх


Лицензия

Режим работы сервисом

Этот режим предназначен для тех случаев когда функционирование NetView не должно зависеть от наличия интерактивно залогиненного в систему пользователя. Включается и настраивается он на соответствующей закладке окна общих настроек программы. При работе сервисом в зависимости от того кто сейчас залогинен в системе интерфейс NetView может находится в двух состояниях - режиме администрирования и режиме пользователя. В режиме администрирования (привилегированном) NetView находится если текущий пользователь (тот от чьего имени запущен шелл на рабочем столе) имеет права на запись используемого файла настроек NetView.ini. В этом режиме доступны все возможности программы. Режим пользователя (непривилегированный) включается если текущий пользователь не имеет всех прав на доступ к файлу NetView.ini или если программа не может найти рабочий шелл (В случае если нету залогиненных юзеров интерфейс НВ работает в непривилегированном режиме, хотя его все равно не видно Ж)). Таким образом для возможности такого режима требуется файловая система поддерживающая разграничения по правам, как например NTFS. Настройки касающиеся прав пользователей находятся там же где и проводится установка НВ сервисом. Особо хочется остановится на возможности ограничения аутентификации пользователей с логинами и паролями хранящимися в хостлисте. Если вы отключите пользователям эту настройку вы не сможете корректно проводить плановые поиски файлов в сети используя логины хранящиееся в хостлисте в то время когда НВ работает в непривилегированном режиме. Так же следует отметить что при обычном запуске в режиме приложения НВ так же не закрывает доступ к привилегированным возможностям так что обычным пользователям следует ограничить доступ к каталогу установленного NetView кроме администратора и системы (в режиме сервиса НВ работает от имени системы)


NetView WEB Center

NetView имеет возможность автоматического генерирования HTML отчетов о состоянии хостлистов, дерева ресурсов сети, найденных с помощью NetSearcher файлах. Так же в NetView имееться встроенный простой HTTP сервер, что позволяет открывать эти ресурсы для доступа по HTTP. Поддержка сервером PHP позволяет также использовать поисковик Мындекс, созданный Slesar, Костюченко Антоном и Алексеем Петровым (это разные версии, все включены в дистрибутив NetView). Ниже описано как настроить NetView чтоб вся эта радость заработала :)

  • Включение и настройка встроенного HTTP сервера

  • HtmlReport

  • HtmlPlaces

  • HtmlResources

  • NetSearch

  • HtmlMaps

  • Reload CMS


NetView WEB Center :: HTTP Server setup

  • Включение HTTP сервера. Для включения встроенного в NetView HTTP сервера откройте Tools|IP logger, перейдите на закладку Port Listener, включите там порт 80, далее перейдите на закладку Options и включите там галки Enable portlistener и Enable scripts. Все - HTTP сервер должен функционировать нормально, если больше никаких настроек там не менялось. Откройте для проверки в браузере http://127.0.0.1 -вы должны увидеть стартовую страницю NetView WEB Center.

  • Установка и настройка PHP. Для работы NetSearch ака Мындекс вам потребуется установить PHP интерпретатор. Скачать его установщик можно с http://www.php.net . Устанонив определите путь по которому лежит интерпретатор php - обычно это например C:\php\php.exe или D:\php\php-cgi.exe. Устанонив его, идите опять в Tools|IP logger|закладка PortListener, найдите там 80й порт, кликните на него правой кнопкой мыши, выберите Edit script. В самом начале скрипта прописана константа const PHP_PATH - поменяйте путь который в ней прописан на путь до вашего интепретатора PHP и сохраните скрипт через Action|Save to http.nvs. Все, теперь встроенный HTTP сервер NetView может исполнять PHP скрипты.


NetView WEB Center :: HtmlReport

HtmlReport позволяет просматривать полный список NETBIOS и FTP серверов хостлиста NetView в виде таблицы. Для включения этой возможности зайтите в Settings|Preferences|Scripts и включите там скрипт HtmlReport.nvs. Если вы хотите чтобы он запускался автоматически при каждом запуске NetView - включите эту опцию для HtmlReport.nvs там же.


NetView WEB Center :: HtmlPlaces

HtmlPlaces позволяет просматривать список включенных NETBIOS серверов хостлиста NetView в виде списка с иконками, максимально похожего на стандартное Сетевое Окружение. Для включения этой возможности зайтите в Settings|Preferences|Scripts и включите там скрипт HtmlPlaces.nvs. Если вы хотите чтобы он запускался автоматически при каждом запуске NetView - включите эту опцию для HtmlPlaces.nvs там же.


NetView WEB Center :: HtmlResources

HtmlResources позволяет просматривать дерево ресурсов включенных NETBIOS, FTP и HTTP серверов хостлиста NetView. Для включения этой возможности зайтите в Settings|Preferences|Scripts и включите там скрипт HtmlResources.nvs. Если вы хотите чтобы он запускался автоматически при каждом запуске NetView - включите эту опцию для HtmlResources.nvs там же. Для работы скрипта надо чтобы информация о том какие ресурсы присутствуют на компах регулярно обновлялась. Для этого нужно запустить Tools|Resources scaner, включить в его настройках включить Autoscan on например каждые 180 минут, включить галки FTP/NETBIOS autodetection, Recheck/Show online only. Остальные настройки - по вкусу, тк они на результат работы HtmlResources не повлияют.


NetView WEB Center :: NetSearch

NetSearch aka Мындекс позволяет пользователю проводить быстрый поиск файлов в локальной сети (обычно музыки, фильмов) по ключевым словам названия файла. Для его работы требуется включить скрипт Settings|Preferences|Scripts|Searcher_PHP_Base.nvs и правильно настроить NetView/NetSearacher:

  • Откройте NetSearcher, настройте все фильтры так чтобы он искал то что надо - например

    • *.avi

    *.mpg

    *.mp3

    *.wmf

    *.wav

    Размер файлов стоит ограничивать в минимум 1000000 байт. Причем именно байт - для того чтобы скрипт мындекса корректно понимал размеры файлов в фильтрах справа должны быть выбраны байты.

  • На закладке Options обязательно включите скрипт Generate_FileList.nvs, остальные настройки - на ваше усмотрение.

  • Стоит включить автопоиск в заданные времена или через заданные промежутки времени в опции Autosearch on:

  • Имеет смысл кликнуть по таблице хостов справа и выбрать пункт Reimport online on every search

  • После того как вы приготовили все настройки - перейдите на закладку Options presets и сохраните текущие настройки в пресет с именем HTTP. И каждый раз, после того как вы изменяли какие-либо настройки для Мындекса сохраняйте их в этот пресет.

  • NetSearcher готов к работе, можете немедленно запустить поиск нажатием кнопки старт. Если вы не будете закрывать NetSearcher перед выходом из NetView он будет автоматически загружаться при запуске NetView с последним активным пресетом настроек. Если вы его случайно закроете - при следующем заруске придеться его открыть и загрузить пресет HTTP.

Принцип работы:

  • NetSearcher регулярно проводит поиск файлов в локальной сети, сохраняя результаты поиска при помощи скрипта Generate_FileList.nvs в файл \NetView\scripts\Searcher_HTTP_State.FileList. При этом сохранять результаты поиска средствами самого NetSearcher'а не нужно (в том смысле что такое сохранение не нужно для работы Мындекса)

  • По завершении поиска в NetSearcher или по завершении глобального речека срабатывает скрипт Searcher_PHP_Base.nvs который по этому файлу генерирует 2 других: All.Searcher_HTTP_State.FileList.txt и Online.Searcher_HTTP_State.FileList.txt - первый содержит список всех найденных файлов с дополнительной информацией, второй- только список тех файлов, что находяться на включенных в данный момент компьютерах.

  • Когда пользователь обращается к http://ваш_компьютер/NetSearch/ отрабатывает PHP скрипт Мындекса, который парсит один из вышеописанных файлов, находя и выводя на страницу то что хочет пользователь.


NetView WEB Center :: HtmlMaps

HtmlMaps позволяет просматривать визуальные карты вашей сети. Для включения этой возможности зайтите в Settings|Preferences|Scripts и включите там скрипт HtmlMaps.nvs. Если вы хотите чтобы он запускался автоматически при каждом запуске NetView - включите эту опцию для HtmlMaps.nvs там же. Скрипт автоматически копирует те визуальные карты, которые были экспортированы в процессе его работы. Инициировать экспорт можно как вручную - по Alt+F2, так и автоматически после каждого речека - это включается в настройках списка. Учтите что для того чтобы работал экспорт список должен находиться в режиме карты или плана.


NetView WEB Center :: Reload CMS

Reload CMS отдельно распространяемый на условиях лицензии GPL v2 продукт. Его домашняя страница: http://reloadcms.com/ . Он позволяет организовать гостевую книгу, новости, форум, файловую базу и тп. Согласно заметке в п2 лицензии GPL он распространяется с дистрибутивом NetView. По умолчанию доступ к нему может получить только локальный пользователь. Связано это с тем что первый пользователь зарегистрированный в Reload CMS будет обладать администраторскими правами. Так что вначале необходимо с локальной машины создать администратора, задать ему пароль и только затем переместить папку ReloadCMS из NetView\Scripts\HTTP\127.0.0.3 в NetView\Scripts\HTTP\DefaultHost чтобы все могли получить к нему доступ. Необходимо также в текстовом редакторе изменить файл NetView\Scripts\HTTP\DefaultHost\index.html так чтобы ссылка href="rcms.html" стала такой: href="/ReloadCMS/"


hostlist

Хостлист

Хостлист - это объект, содержащий хосты, линии и области визуальной карты. Хосты могут отображаться различными цветами в зависимости от текущего состояния offline, online, opened и alarm. Хост является Opened если он открывался хотя бы один раз в текущем сеансе работы. Хост Alarm если для него сработало оповещение (например о том что он выключился). При этом он будет находится в таком состоянии пока пользователь не щелкнет на нем мышью. Хосты можно переводить из одного хостлиста в другой указав нужный хостлист в поле Hostlist окна редактирования свойств компьютера. Можно так же включить автоматическую группировку хостов по имени рабочей группы либо первым трем цифрам их IP адреса. Это задается в главном меню->Settings->Autosplit. Там же можно отключить автогруппировку или переслать все хосты на основной хостлист. В настройках можно включить пункт Delete empty lists для того чтобы автоматически удалялись пустые хостлисты. Данные всех хостлистов NetView хранит в файле (по умолчанию default.nvh, либо default.sam). Руками туда лучше не лазить, но вообще то его структура довольно очевидна. Информация хостлиста может представляться в четырех видах, которые можно переключать из контекстного меню->Current sublist->View as или кнопками <-> и <+>:

Список. В этом случае отображаются только иконки соответствующие состояниям хостов и их названия. Дополнительная информация такая как IP, рабочая группа, состояние, заметки отображаются в всплывающей подсказке при наведении мышки на хост.

Детально. Информация отображается в виде списка со столбцами (столбец имен, IP адресов и тд). Столбцы можно менять в окне редактирования хостлиста. Ширину столбцов и сортировку так же можно менять, она сохраняеться в файле хостлиста и восстанавливается при следующем запуске. Учтите что если хостлист не сохранить перед выходом и если выключено Autosave hostlist в настройках то эта информация так же не сохранится.

Визуальный план. Уменьшенная в 2 раза визуальная карта без возможности редактирования.

Визуальная карта. Этот режим предназначен для визуализации компьютерной сети.

На верх


Details

Хостлист :: Детально

Описание столбцов в списке при включенном Hostlist view->Details

  • Hostname - имя хоста, собственное, либо DNS. Часто при изменении IP адреса хостом могут появлятся двойники, с разными IP адресами, и одинаковыми именами, но у одного из них после имени стоит DNS суффикс поэтому автоматически он не удаляется. Эта проблема касается только сетей, в которых используется DNS. Ее можно решить установкой флажка Clear DNS suffixies в настройках.
  • IP address - без комментариев. Если не знаете что это такое, но очень хотите узнать - RTFM. Если Вы не знаете и что такое RTFM - RTFM.

Следующие столбцы включены и настроены по умолчанию, но их можно изменить в окне редактирования хостлиста:

  • Server comment - комментарий сервера. Устанавливается на самом сервере. Виден только если при обновлении списка машин хост был включен.
  • Connection - значение в мсек задержки ICMP эхо-ответа, при включенной проверке PINGами, задержка установления соединения, при включенной проверке соединением на заданный порт, либо количество шар на хосте, если включен Enum shares on host.
  • Custom - редактируемый Вами комментарий к хосту. Сохраняется (если сохраняется) в LMHOSTS файл.
  • Last time - время последнего открытия компьютера, с момента запуска NetView.
  • Last change - время/дата последнего изменения online\offline состояния хоста.


Visual MAP

Этот режим предназначен для визуализации компьютерной сети. Вы можете ставить компьютеры в любое место на карте, соединять их различными линиями, задавать им различные картинки, зависящие от состояния хоста. Хосты можно так же объединять в прямоугольные области, и затем щелкнув правой кнопкой мыши на любое место области можно перепроверить все хосты в ней, выбрав пункт меню Recheck area. Для того чтобы изменить название области и цвет ее границ нужно щелкнуть правой кнопкой на ее подпись и выбрать Edit area label. После изменения текста и цвета нужно нажать Enter, либо Esc для отмены. Линии на карте рисуются с помощью пункта контекстного меню Start line. Начните рисовать линию, левым щелчком добавляется узел, правым рисование линии завершается, и она закрепится на карте. Для удаления любой линии просто щелкните на ней правой кнопкой и выберите Delete line. Линии могут быть различной толщины, цветов и стиля. Редактируются эти параметры из контекстного меню ->Edit line. При этом Вы попадете в окно конфигурации хостлиста, все параметры касающиеся линий будут задавать только выделенную линию. Картинки изображающие устройства задаются при их редактировании. Размеры карты и фоновую текстуру можно так же менять, для этого надо щелкнуть правой кнопкой по карте и выбрать Current sublist->Settings. Подробнее о конфигурации хостлистов можно прочитать здесь. Объекты можно произвольно таскать по карте. Можно выделить сразу несколько узлов линий, хостов и областей и таскать их вместе. Можно нажав левой кнопкой на заголовок какой нибудь области выделить ее и все находящиеся в ней объекты чтобы затем перетаскивать все вместе. Можно менять размер областей таская их стороны или узлы. Выглядит визуальная карта примерно так (для ее создания исользовался плагин Devices, который можно скачать здесь:

На верх


Route map

На карте маршрутов показана схема соединения узлов сети. Составляется она путем выбора пункта меню Retrace all главного меню либо путем трассирования выделенных хостов или текущего хостлиста через контекстное меню хостлиста. При этом следует учесть что некоторые серверы могут ограничивать количество ICMP запросов с Ващего компьютера, что может привести к трассировке не всех хостов, многие могут не протрассироватся. В этом случает следует пользоваться пунктом Trace all главного меню - он трассирует только те хосты, маршрут до которых еще не был успешно найден. Просто нажимайте его несколько раз, пока количество узлов на карте не перестанет добавляться. Информация этой карты сохраняется с хостлистом в .nvh файл и может экспортироваться в более-менее читаемый .txt формат через подменю File главного меню. Карта так же имеет контекстное меню с основными функциями - открыть хост, перепроверить, перетрассировать, редактировать, удалить из хостлиста, посмотреть свойства. Для пояснения их функциональности см. контекстное меню хостлиста. Еще имеются пункты меню Delete from map и Clear route map. Первый просто удаляет хост вместе со всеми дочерними из карты маршрутов, сохраняя их в хостлисте. Второй полностью очищает карту маршрутов.


Контекстное меню

Хостлист :: Контекстное меню

Появляется при щелчке правой кнопкой на хостлист. Присутствующие пункты меню зависят от состояния NetView, выделенных хоств, линий, областей, состояния хослиста установленных плагинов и других факторов. Выглядит оно примерно так:

Open selected - Открыть выделенные хосты в отдельном окне.

Browse selected - Открыть выделенные хосты в дереве каталогов Проводника.

Open with ... - Открыть с помощью указанной в настройках программы.

Resources - это меню открывает список разделяемых ресурсов выделенных хостов. В Win9x открытие этого меню может приводить к кратковременному подвисанию NetView т.к. перечисление ресурсов происходит под этой "системой" в основном потоке. В NT/2000/XP все гладко и без тормозов поскольку опрос ресурсов и построении подменю начинается сразу при открытии контекстного меню. Для того чтобы этого не делалось следует держать клавишу Shift нажатой при открытии контекстного меню хостлиста. При включении FTP в свойствах хоста здесь так же будут показаны FTP каталоги 1го уровня. NetView использует внутреннее кэширование списка ресурсов - при показе ресурсов из кэша они отмечаются красной точкой слева внизу. После того как опрос завершится красные точки пропадут, при этом список доступных ресурсов может оказаться другим. При включении в общих настройках/Opening определения HTTP серверов тут так же будет показываться http ресурсы.

Recheck selected - проводит перепроверку состояния хостов.

Retrace selected - проводит трассировку маршрутов выделенных хостов, обновляя информациюо них в карте маршрутов.
Text to clipboard - копирует содержимое полей выделенных хостов в буфер обмена в виде текста, разделенного символами табуляции

Recheck Area - проводит перепроверку состояния хостов в области, внутри которой Вы щелкнули мышкой для доступа к меню.

Add host - добавляет новый хост в текущий хостлист через окно редактирования хоста.

Edit selected - открывает окно редактирования хоста для выделенных хостов.

Delete selected - удаляет выделенные хосты.

Start line - Начинает рисовать линию в режиме Visual map. Завершается рисование линий нажатием правой кнопки мыши.
Add line node - добавляют узел на линию в режиме Visual map.
Delete nodes/line - удаляет выделеные узлы линий в режиме Visual map. Те линии у которых останется меньше 2х узлов удаляются полностью.

Add new area - добавляет новую область на визуальную карту.

Edit area label - позволяет редактировать метку и цвет области, в которой Вы щелкнули мышкой.

Delete area - удаляет область, в которой Вы щелкнули мышкой.

Current sublist - основные функции управления хостлистом

Recheck list - перепроверяет состояния хостов хостлиста.

Retrace list - проводит трассировку маршрутов хостов хостлиста.

Arrange by - сортирует хосты в списке по соответствующим столбцам, сохраняя группировку по областям. Повторным щелчком можно инвертировать сортировку.
Show mini-map - включает отображение окна с миникартой, облегчающего навигацию в режиме визуальной карты-плана

View as выбор вида отображения информации

List - список

Details - детально

Visual plan - визуальный план
Visual map - визуальная карта

Export map - сохраняет картинку текущей визуальной карты/плана в NetView\Export\ИмяХостлиста.gif
Save as - сохраняет текущий хостлист в файл .nvh

Add from - загружает хосты из указанного .nvh файла в текущий хостлист, игнорируя их первоначальные установки. Загружаются так же линии и области.

Delete sublist - удаляет текущий хостлист вместе с хостами, линиями и областями.

Settings - открывает окно настроек хостлиста.

Send message - открывает NetMessenger, в поле To: указано имя выделенного хоста.

Properties - открывает окно свойств хоста, в котором указана основная инаормация об ОС, пользователях, сессиях и открытых портах

На верх


edcomp

Редактирование свойств компьютера

Появляется при выборе Edit, Add в контекстном меню а так же при редактрировании настроек хостов по умолчанию в общих настройках NetView. Позволяет задавать имя, IP адрес и дополнительный комментарий для компьютера. Так же есть возможность автоматического определения адреса по имени хоста и имени хоста по известному IP(резолвинг). Если хост не имеет IP адреса - оставьте это поле пустым. Все компьютеры должны иметь разные имена и разные непустые IP адреса (если IP адреса нет - то поле оставлять пустым, таких компьютров с уникальными именами может быть много)!

Дополнительные опции:

  • General settings

    • Hostlist - хостлист, в котором находится хост(ы). Можно выбрать из списка уже имеющихся п можно написать имя нового хостлиста - он будет создан.

    • Custom description - произвольный комментарий к хосту.

    • Image online - картинка для хоста визуальной карты, которая будет рисоватся если хост включен. Bmp или Gif (с поддержкой анимации).

    • Image offline - картинка для хоста визуальной карты, которая будет рисоватся если хост выключен. Bmp или Gif (с поддержкой анимации).

    • Enable NETBIOS - эта опция контролирует будет ли нетвью пробовать обращаться к NETBIOS ресурсам компьютера при нахождении расшаренных ресурсов и при поиске файлов NetSearcher'ом. Не следует оставлять этот флажок включенным для хостов у которых точно нет NETBIOS - быстрее будет работать. Поиск файлов и опрос ресурсов если на них работает FTP.

    • Enable FTP active mode- включить активный режим FTP при опросе ресурсов с хоста и при поиске на нем файлов.

    • Enable FTP passive mode - включить пассивный режим FTP при опросе ресурсов с хоста и при поиске на нем файлов. При некоторых конфигурациях файрволлов (персональных или межсетевых) может работать только активный или только пассивный режим. Если включить обе галки сразу то вначале будет проведена попытка подключится в активном, если не получится - то в пассивном режимах.

    • Recheck - отключив эту галку Вы отключите запретите перепроверку хоста.

    • Alert on online - включить оповещение о том что хост включился. При включении этой опции оповещение сработает для этого хоста(ов) даже если отключена аналогичная галка в общих Preferences

    • Alert on offline - включить оповещение о том что хост выключился.

    • Align to grid - автоматически выравнивать позицию хоста по опорной сетке визуальной карты.

    • Link lines - при перетаскивании хоста в режиме визуальной карты с ним будут одновременно таскаться линии, узлы которых находятся в области картинки хоста.

    • Visible in visual map only - при включении это опции хост будет видимым только в режимах визуальной карты\плана. Полезно для объектов которых не хочется видеть в режимах списка (хабы, свичи прочие девайсы)

  • Advanced settings

    • Skip N global timer rechecks after every recheck - пропускать каждые N перепроверок по таймеру прежде чем перепроверять этот хост. Эта фича позволяет задавать индивидуальные интервалы перепроверок для разных хостов.

    • Override global recheck settings - этот параметр позволяет индивидуально для хоста установить способ перепроверки.

    • Use ping - индивидуально включить проверку состояния хоста пингованием с количеством повторных попыток Tries попытками и таймаутом Timeout. Если включено одновременно проверка пингом и сканированием портов то вначале будет проведено сканирование и лишь если не будет найдено ни одного открытого порта хост будет пропингован. Если в общих настройках включено использование ARP запросов при неудачном принге - они будут использоваться.

    • Use port - индивидуально включить проверку состояния хоста коннектом на индивидуально настроенный(е) TCP порт(ы). Список портов задается через ";" - до 8ми штук. Например "139;21;80". Хост будет считаться включенным если открыт хотя бы один из портов.

    • Dynamic IP - при включении этой опции NetView будет переопределять IP адрес хоста при каждой перепроверке (нужно, если IP адрес хоста может меняться, например если он использует DHCP).

    • Static entry - при включении этой опции хост станет статическим - это означает что NetView никогда не будет пытаться сравнить его имя и IP адрес с уже существующими хостами и не будет изменять его IP или имя если посчитает что хост изменил адрес или имя.

    • Default user/passwd - под этим пользователем и паролем нетвью будет подключатся к хосту по NETBIOS и FTP протоколам. Если NetWatcher используется для мониторинга этого сервера, желательно указать здесь имя и пароль администратора.

    • Open path - включив эту галку можно заставить нетвью открывать хост по двойному клику указанной справа командной строкой. В строке могут присутствовать %HOSTNAME% -для вводя имени хоста, %HOSTIP% - для вводя IP хоста, %HOST% - для ввода IP или имени хоста согласно установкам в Preferences, %USER% для ввода имени юзера хоста, %PASS% для ввода пароля. Можно так же сделать так чтобы по двойному клику по хосту открывался другой хостлист. Для этого надо написать здесь "hostlist:hostlistname" где hostlistname имя сопоставляемого списка. Имеется также возможность запускать по двойному клику перепроверку, перетрассировку или редактирование хоста - надо лишь написать в этом поле слово "recheck", "retrace" или "edit" соответственно. Если вы хотите например чтобы по двойному клику запускалась какая-то внешняя программа с дополнительными параметрами то сделать это можно например указав здесь "exec:telnet.exe %HOSTNAME%". Для открытия http:// или ftp:// ссылок никаких дополнительных команд не нужно. Например "http://%HOSTNAME%". Имеется так же возможность привязки плагина или скрипта на двойной клик по хосту - если указать здесь например "hostmsg:123" то при двойном клике по хосту всем плагинам и скриптам будет отправлено уведомляющее сообщение с кодом NMNP_HOSTMSG, причем в wParam будет указанное нами число 123 а в lParam - идентификатор хоста. Специально написанный плагин или скрипт в свою очередь среагировать на это каким-либо запрограммированным действием.


Настройки хостлиста

Hostlist :: Settings

Открываются из контекстного меню Current sublist->Settings либо при редактировании свойств линии.

  • List settings

    • Hostlist name - название хостлиста.

    • Hostlist theme - тема визуальной карты. Фактически - каталог в каталоге Themes нетвью в котором лежат .bmp или gif файлы для иконок и произвольные texture.gif, texture_plan.gif и texture_list.gif либо, если разрешение картинок насколько велико, что текстура в .gif формате не отображается корректно: texture.bmp, texture_plan.bmp и texture_list.bmp

    • Map width - ширина визуальной карты в пикселях

    • Map height - высота визуальной карты в пикселях, эти параметры лучше задавать в разумных пределах - чем меньше размер карты тем меньше получится gif файл после экспорта и тем быстрее он получится.

    • Horizontal grid size - размер опорной сетки в режиме визуальной карты плана по горизонтали, коррдинаты всех объектов при перемещении будут автоматически выравниваться на это значение

    • Vertical grid size - размер опорной сетки в режиме визуальной карты плана по горизонтали

    • Show texture in list and detailed modes - при включении этой опции фоновая текстура используемая в режиме визуальной карты будет так же отображаться в режимах Детально и Список

    • Show grid in Detailed view mode - включает линии таблички в детальном режиме

    • Autoexport map on recheck - автматически экспортирует визуальную карту или план в gif файл после каждого речека. Учтите что экспорт не работает если включен режим отображения Список или Детально

    • Так же на этой закладке вы можете указать цвета хостов в различных состояниях и цвет фона хостлиста, если не используется картинка текстуры

  • List columns - Здесь можно включить\выключить отображение различных метапеременных в столбцах режима Детально. Подробнее что такое метапеременные можно почитать в разделе по скриптам и плагинам

  • Line settings - В зависимости от того как вы открыли это окно (кликом на выделенной линии карты или просто на свободном поле списка) настройки этой закладки могут изменять настройки конкретной линии или настройки рисования линий по умолчанию на данной карте.
    • Line type - тип линии. Витая пара, коаксиал либо телефонная пара. Непринципиально.
    • Line length - длина линии.
    • Line speed - скорость передачи данных.
    • Line note - произвольные заметки. Содержимое этих полей появляется в подсказке при наведении мышкой на линию. Так же может быть использовано плагинами. Например для подведения статистики по карте.
    • Line end by - как будут выглядеть концы линий - с кружком, квадратом, треугольником или без фигур.
    • Pseudo 3d - линия будет иметь плавный градиент цвета от середины к краям.
    • Directed - линия будет иметь градиент толщины от начала до конца. Направление градиента можно будет изменить из контекстного меню. Естественно эти 2 опции имеют смысл только для относительно толстых линий (более 5 пикселов толщиной)
    • Line style, Line color, Line width - стиль, цвет и толщина рисования линии.


Лицензия

Хостлист :: Метапеременные

Хосты в хостлисте - это объекты которые могут содержать любые данные в переменных с произвольными именами. Всю информацию о хостах, кроме имени и IP адреса, NetView сам хранит в этих переменных. Часть этих переменных хранят настройки хостов, часть - служебную информацию. Включить отображение заданных переменных в столбцах детального режима можно в окне настроек хостлиста. Прямой доступ к этим переменным можно получить из скриптов или плагинов либо открыв в текстовом редакторе файл хостлиста. Если имя переменной начинается на ! то NetView будет хранить их на диске во время работы - это имеет смысл для переменных, которые потенциально могут содержать большое количество данных, например список ресурсов хоста. Вот неполный список основных метапеременных, которые использует сам NetView:

map | Имя списка хостов, на котором отображается хост. По умолчанию Default
addtm | Время-дата первого появления хоста в списке в виде "20:34.07 2002/12/02"
lchtm | Время-дата последнего изменения состояния хоста
left | X позиция хоста на визуальной карте [int]
top | Y позиция хоста на визуальной карте [int]
pipo | Индивидуально настроенный метод перепроверки хоста. 0 -пингом, 1 -сканированием портов, 2 -вначале сканированием, если не найдется ни одного порта - пингом. Используется если установлен битовый флаг 0x20 в переменной flags
stport | Индивидуально настроенный список портов для проверки сканированием в фомате port1;port2;...portN - до 8и штук. Используется если установлен битовый флаг 0x20 в переменной flags [DWORD]
scan | Список открытых портов при последней проверке сканированием. В формате port1;port2;...portN
stpdel | Индивидуально настроенная задержка при проверке хоста пингом. Используется если установлен битовый флаг 0x20 в переменной flags [DWORD]
wgrp | Рабочая группа/домен
sdesc | Комментарий хоста
cdesc | Юзерская заметка к хосту
ison | состояние хоста, может быть "on","off","?"
!route | Маршрут к хосту в формате IP1|hostname1/IP2|hostname2/.../IPend|hostnameend/
image | bmp картинка текущей темы для включенного хоста
ofimg | bmp картинка текущей темы для выключенного хоста
ctime | То что пишется в столбце Connection
!nbcache | Кэш NETBIOS ресурсов, обновляется при обращении к хосту из меню, сканера ресурсов и тп.
!ftpcache | Кэш FTP ресурсов, обновляется при обращении к хосту из меню, сканера ресурсов и тп.
!dwlnk | Список хостов от которых зависит состояние этого хоста если для него отключена перепроверка (убран бит 0 в flags). Формат следующий - хост1|хост2|хост3|...|хостN| тут можно указывать как имя так и ип адрес хоста. После изменения этой переменной (или после изменения сразу многих таких переменных у разных хостов) для того чтобы изменения вступили в силу нужно обновить состояние хостлиста через NMPN_ACTION с установленным флагом NVACTION_SETSTATE - при этом будут пересмотрены и записаны в переменные downlnk и uplnk (эти переменные самим трогать нельзя) зависимости между хостами.
flags | Набор битовых флагов - настроек хоста. [DWORD]:
 | $1 - разрешить перепроверку хоста
 | $2 - разрешить привязку к сетке визуальной карты
 | $4 - разрешить привязку линий при таскании хоста без SHIFT'а
 | $8 - включить оповещение о переходе в Online
 | $10 - включить оповещение о переходе в Offline
 | $20 - использовать индивидуальные настройки перепроверки
 | $40 - открывать хост по двойному клику командой указанной в переменной "opcmd"
 | $80 - Включена опция dynamic IP для хоста
 | $100 - Включена опция Static entry для хоста
 | $200 - Отключен NETBIOS
 | $400 - Включен FTP в активном режиме
 | $800 - Хост виден только в режиме визуальной карты или плана
 | $1000 -Включен FTP в пассивном режиме


File

Главное меню :: Файл

Create new hostlist - создает новый дочерний хостлист, являющийся частью основного. Имя дается New hostlist 1 (2,3...). Имя можно изменить через контекстное меню хостлиста [Current sublist->Settings] или щелкнув по нему два раза.

Add from LMHOSTS - добавляет хосты в основной список список машин из указанного файла.

Save LMHOSTS - сохраняет текущий список машин в LMHOSTS файл, имя и путь которого указаны в настройках. В этом файле так же сохраняются дополнительные параметры хостов, хостлистов, карта маршрутов, линии на визуальной карте и тп. Поэтому. если у Вас в настроках отключено автосохранения LMHOSTS при выходе, а Вы желаете сохранить текущее состояние списка - выберите этот пункт.

Save LMHOSTS as - все вышеописанное + диалог выбора имени и пути к LMHOSTS файлу.

Save tracemap - сохраняет сегментную карту сети в текстовый файл.

Exit - без комментариев.


Action

Главное меню :: Действия

Force recheck - проводит перепроверку списка. Если в Preferences включено обновление списка то так же обновляет.

Refresh all lists - обновляет хостлист. Проводит опрос сети если включено в Preferences.

Recheck all lists - перепроверяет хосты. Проверка задается заданным в Preferences методом если для хоста не указаны индивидуальные настройки. (см Редактирование свойств компьютера)

Retrace all lists - проводит трассировку маршрутов для новых хостов. Если Вы хотите заново протрассировать маршрут для старых хостов, просто удалите их из карты маршрутов.(Route map) Или используйте контекстное меню.


Settings

Главное меню :: Установки

Autosplit - Позволяет выбрать задать автоматическое разбиение хостлиста на подлисты по следующим признакам:

By workgroup - По рабочим группам. Учтите что если у Вас включена опция Quick enum в Preferences информация о рабочих группах будет недоступна, либо не будет обновлятся.

By IP segment - по IP сегментам. Скажем хосты 192.168.7.10, 192.168.7.30 попадут в сегмент 192.168.7.х а 10.103.10.25 в 10.103.10.х

No autosplit - Авторазбиение отключено. Режим по умолчанию. Хосты можно перекидывать из листа в лист из контекстного меню->[Edit selected]

Send all to [Default] - Перекидывает все хосты на список Default, являющийся стартовым листом так же для новых хостов. Все виды авторазбинения при этом отключаются.

Hide offline - скрыть из листов выключенные хосты.

Autohide - при включении этого пункта окно нетвью будет автоматически сворачиваться в заголовок при деактивации. Для появления окна нужно кликнуть по заголовку либо переключить задачу.

Always on top - расположить основное окно нетвью поверх всех окон.

Preferences - открывает окно настроек программы


Preferences

Настройки программы (Preferences)

Окно вызывается из меню Settings->Preferences.

General

Autosave settings - сохраняет настройки программы в INI файл автоматически при выходе из программы. INI файл находится в каталоге %USERPROFILE%\Application Data\NetView\NetView.ini для WIN'NT/2000/XP либо в каталоге WINDOWS в Win9x системах.

Autostart with Windows - автоматически запускать NetView при загрузке системы.

Low priority while starting - Понизить приоритет потока, загружающего хостлист на время запуска, для того, чтобы не тормозить систему и сам NetView загрузкой большого хостлиста

Minimize to tray - появляется иконка в трее рисунок которой зависит от состояния NetView. Правым кликом на иконке можно вызвать контекстное меню с набором основных функций. Если у вас трехкнопочная мышь, то по клику средней кнопкой на значке появляется NetWatcher.

Minimize on startup - программа запускается при автозапуске свернутой в значок в трее.

Minimize on close - программа сворачивается в трей при клике по значку закрытия окна справа сверху.

Allow multiple instances - Разрешить запуск многих копий нетвью одновременно, не очень рекомендуется - могут быть конфликты при сохранении различных логов

Show ToolBar - показывать панель инструментов.

Show windows switch bar - включить панель переключения открытых окон. Панель прячется если открыто только менее двух окон.

Silence mode - "тихий" режим, при котором нетвью не показывает никаких сообщений. Полезно при автономной работе и просто если Вам так удобнее.

Startup delay - помогает устранить проблемы с отложенным запуском драйверов. (Когда нетвью запустился а сети еще нет Ж:-) ).

Show notes as caption - если включить эту опцию то в режиме Visual Map вместо имет хостов будут отображаться их Custom comments (если у хоста они есть).

Language file - позволяет выбрать язык локализации нетвью. Сейчас есть только русский, английский и украинский. Напишете еще какой - шлите мне - выложу на сайте или включу в дистрибутив вместе с копирайтом Ж:-). В этом же файле можно менять горячие клавиши различным командам меню.

Hostlist file options.

Здесь задается пусть к файлу хостлиста, в котором хранится список компьютеров с IP адресами, именами и дополнительными комментариями. Туда же сохраняются сведения о подсписках, линиях и областях визуальной карты. Path - путь\имя файла. Иногда, при переустановке программы, реальный путь может изменится, а в настройках остается ссылка на несуществующий файл. При этом в списке машин видны лишь те хосты, которые есть в Сетевом окружении. В таком случае впишите сюда правильный путь, или воспользуйтесь кнопкой Browse для поиска файла по каталогам. Нажав кнопку Edit Вы можете отредактировать файл в программе Блокнот, сохранив изменения после выхода (Хотя лучше этого не делать). Примерные строчки из файла:

#NetView hostlist created on 2003/1/12 at 19:42.8

192.168.7.10 killer ##Всякая ерунда#

- ipxhost ##Всякая ерунда#

#$list$192.168.x.x##UTP Cat5E#
Всякую ерунду лучше не трогать

Re-read hostlist - при включении этой опции NetView будет перечитывать хостлист из файла при каждом рефреше.

Avtosave hostlist - при включении этой опции NetView будет сохранять хостлист при каждом рефреше.

Don't backup hostlist file on startup - По умолчанию NetView делает копию хостлиста чтобы в случае программного сбоя можно было восстановить хостлист. Отключите эту опцию если сохранность хостлиста неважна для быстрого запуска программы

Edit default settings for newly added hosts - Нажмите эту кнопку для редактирования настроек по умолчанию автоматически добавляемых в хостлист хостов (при обновлении списка, из сканера сети, NetWatcher'а или плагинов/скриптов).

Automatically clear following DNS suffixies - убирать DNS суффиксы у имен хостов. Полезно для предотвращения появления "двойников" и просто для красоты. Но ТОЛЬКО если у Вас в свойствах сетевого окружения прописаны DNS суффиксы для автоматического поиска. В этом поле можно указать через знак ";" dns суффиксы, которые нужно удалять из имен хостов. Можно указать знак * -в этом случае будут удаляться все суффиксы у имен, у которых нет префикса www.

Autosort hostlist - при включении после каждого речека автоматически сортируются все хостлисты, которые не в режиме Visual Map.

Alert on online - глобальный режим оповещения о включении хоста

Alert on offline - глобальный режим оповещения о выключении хоста

Delete empty lists - автоматическое удаление пустых хостлистов

Show notes as caption - позволяет отображать в качестве подписей хостов Custom comments в режиме Visual map.

Opening options

Open using hostname - открывает машины по их именам. Все равно что Вы введете в Run \\hostname. Максимальная совместимость.

Open using IP address - при включенной опции открытие происходит по IP адресу, что работает быстрее на NT/2000 системах. Под win95 это похоже вообще не работает. под 98 и ХР работает, но медленнее чем по имени. Иногда, в многосегментных сетях, при неправильно настроенных WINS сервисых на сервере некоторые кампьютеры из одних сегментов становятся невидимы для других сегментов по имени. По IP, как правило, все работает.

Open in Window - открывает компьютеры по умолчанию (двойным кликом или ENTERом) в окне

Open in Explore - /../ в дереве каталогов Проводника Windows.

Open in Custom program - /../ в указанной ниже программе, например, Windows Commander.

Open normal - окно открывается в нормальном виде.

Open maximized - /../ развернутым на весь экран.

Open minimized - /../ свернутых в панель задач.

Force recheck host on opening - перепроверяет хост перед открытием. Нецелесообразно если перепроверка производится методом try connect to resource.

Try to open host if its state is offline - пытаться открыть хост даже если последний речек показал что он выключен

Don't show hidden resources - отключает возможность нетвью видеть скрытые ресурсы. При отключении этой опции так же не будет производится поиск и сканирование в этих ресурсах

Detect and show HTTP servers - включает возможность НВ детектировать HTTP серверы (путем сканирования 80го порта) в подменю Ресурсы и в Сканере ресурсов

Single click open - открывать хосты одиночным кликом. Некоторым так привычнее.

Try firstly FTP passive mode connection - по умолчанию для хостов у которых разрешен и активный и пассивный FTP режим НВ пытается вначале использовать активный режим при работе с FTP что может привести к большим задержкам если работа FTP в этом режиме невозможна (например изза файрволла). Включите эту опцию чтобя НВ вначале пробовал использовать пассивный режим.

Random auto-authorization username: - введите тут имя пользователя под которым НВ будет пытаться авторизоваться если при заходе на шару или при попытке получения списка шар он получит отказ в доступе. В NetSearcher при включении опции Force random auto-authorization НВ авторизуется этим пользователем сразу не пытаясь получить список шар без дополнительной авторизации. Если указать тут пустую строку то НВ не будет использовать дополнительную авторизацию. Знаки # в строке автоматически заменяются на случайные цифры.

Checking

Optimize Windows TCP/IP stack - эта опция работает только под Windows'NT/2000/XP/2k3. По умолчанию Windows назначает для исходящих TCP соединений локальные порты с номерами от 1024 до 5000 и после закрытия соединения использованнй порт не может быть повторно использован в течении 240 секунд, что может приводить к неверным результатам сканирования и блокировку сетевой подсистемы после речека большого количества компьютеров, или же после сканирования большого количества портов при помощи Network scaner'а. Включение этой опции расширяет диапазон значений портов до 64510 и уменьшает время блокирования порта до 30 секунд.

Use WinPCap if possible instead of RAW sockets - эта опция включает использование драйвера WinPCap вместо стандартных RAW сокетов. Недостатком является то что WinPCap умеет работать только с ethernet адаптерами. Полезно для пользователей Windows XP с установленным SP2 поскольку в этом самом СП2 микрософт по самое немогу урезали и RAW и обычные сокеты, что сделало практически невозможным сканирование больших сетей без установки патчей для tcpip.sys. Скачать драйвер WinPCap можно здесь: http://www.winpcap.org/ . NetView разрабатывался и тестировался с версией 3.0 драйвера. Для использования WinPCap для речека следует включить также опцию Use RAW sockets for port scan.

Use RAW sockets for port scan - по умолчанию когда эта опция выключена, если НВ проводит перепроверки состояния хостов всего списка путем сканирования портов, он создает сокет для каждого отдельного соединения и пытается подключится используя стандартную API connect(). Если хостов много это то отбирает некоторую часть системных ресурсов, в том числе и невыгружаемого пула памяти размер которого обычно невелик и определяется размером физической памяти. В Windows 2000 появилась возможность без своего драйвера работать практически напрямую с сетевым интерфейсом генерируя произвольные IP пакеты и принимать и анализировать траффик проходящий в сети, возможность эта кстати доступна только если приложение запущено администратором или работает как сервис . При включении этой опции НВ создает лишь 1 сокет для проверки всего списка хостов, создет и шлет через него TCP SYN пакеты и затем анализирует входящий траффик принимая все IP пакеты приходящие по сети и отфильтровывая из них ответы на посланные запросы, экономя системные ресурсы. Как минус - немного меньшая надежность сканирования - когда НВ сканирует порты через connect() то система обычно шлет сразу несколько SYN запросов что увеличивает вероятность того, что хоть один запрос дойдет в случае большой загрузки сети. Впрочем справа можно указать количество отсылаемых SYN пакетов для каждого запроса. Кстати даже при включенной этой опции проверки одиночных хостов например через контекстное меню проводятся обычным путем. Внимание: эта возможность может работать неправильно если на вашей машине работает файрволл. Вобщем если после включения этой опции все внезапно стали Offline - выключите ее

Using scan ports - проверка проводится путем попытки установить соединение с заданным IP адресов на заданный(е) порт(ы). Если указать порт 139(по умолчанию) - будут показаны все включенные машины, на которых запущена служба совместного доступа к файлам SMB. Если поставить 80 - то Вы узнаете адреса всех включеных HTTP серверов. Список общеиспользуемых TCP портов Вы можете прочитать в файле COMMPRTS.TXT и в файле CPORTS.LST - этот файл является основным опорным список комментариев к портам для нетвью и в нем же помечены знаком + порты, подлежащие прослушке IP logger'ом. Можно так же задать до 8ми разных портов через ";". Например "139;21;80" В этом случае список открытых у хоста портов можно узнать из переменной scan.

Maximum simultaneously opened sockets: - ограничение на максимальное количество одновременно открываемых сокетов при проверке сканированием. Для Windows семейства NT устанавливается значение по умолчанию 500, для 9х - 50. Чем меньше значение - тем дольше будет длиться сканирование, и тем меньше нагрузка во время него на вашу систему и на маршрутизаторы сети. Кроме того Windows XP с установленным Service pack 2 ограничивает количество одновременных попыток подключения числом 10, что требует установки соответствующего лимита в этом поле для правильный результатов перепроверки сканированием портов. Кстати это можно преодолеть использованием RAW сокетов.

Using ping - проверка проводится путем пингования IP адреса ICMP эхо запросом с данными размером 32 байта и заданным временем ожидания ответа. Проверка проводится tries раз до первого ответа. Если ответов нет - хост помер.

Try ARP request if ping recheck failed - Эта опция расширяет стандартную перепроверку пингом: если хост, находящийся в одном сегменте сети с вами, не отвечает на пинги NV проверит отвечает ли он на ARP запросы. Не рекомендуется для постоянного использования в связи с тем что использует броадкастовые пакеты. Так что включайте это только если оно вам действительно нужно.

Внимание: При одновременном включении Using scan ports и Using ping Нетвью будет вначале пытаться подключится к портам, если не будет найдено ни одного открытого порты попытается пропинговать заданное количество раз с заданным таймаутом и лишь при неудачном пинге посчитает что хост выключен.

Requests interleave - эта опция задает задержку в мсек между отдельными пингами/сканами в течении перепроверки. Чем бльше значение - тем дольше сканирование, но тем точнее его результаты и тем меньше нагрузка на CPU во время перепроверки.

Force host's recheck by IP packet, initiate delay: - эта опция доступна только в Windows 2000 и выше и работает корректно только если НВ запущен администратором или работает как сервис. При ее включении НВ будет прослушивать входящий траффик на всех доступных при запуске сетевых интерфейсах, при ловле пакетов НВ проверяет имеется ли хост с IPшником таким как в пакете в хостлисте, и если хост имеется и был в офлайне после последней глобальной перепроверке НВ инициирует перепроверку хоста через указанное справа количество миллисекунд. Если хост в результате одиночной проверки окажется в офлайне то НВ не станет иницировать проверки хоста по приходу пакетов с его ИПшником до следующей глобальной перепроверки. Таким образом данная опция позволяет НВ практически мгновенно (как только будет получен хотя один IP пакет с него) реагировать на включение хоста. Внимание: эта возможность может не работать если на вашей машине работает файрволл.

Recheck every ## seconds - проводит автоматическую перепроверку всего списка по таймеру каждые ## секунд. Учтите что для хостов в индивидуальном порядке можно устанавливать количество пропусков глобальных перепроверок. Это позволяет задавать различные периоды перепроверок. Скажем период равен 10 мин, а комп VASYA пропускает каждые 2 перепроверки. Значит VASYA будет проверятся каждые 30 минут.

Refresh hostlist automatically before every global recheck - обновляет список машин при каждой перепроверке списка, опрашивая сеть и перечитывая .nvh файл (если такая опция включена в Hostlist file options). Значительно замедляет проверку.

Check by timer only alertable hosts - проверять по таймеру только хосты с включенным оповещением. Разгружает сеть.

Resolve hosts's IP before every recheck - эта опция необходима если в Вашей сети используется DHCP. В этом случае IP адреса хостов будут автоматически определятся перед каждой проверкой. Кроме того эта опция запрещает NetView проводить разрешение конфликтов IP адресов при добавлении новых хостов в список.

Disable searching for new hosts on startup - не опрашивать сеть на наличие новых хостов при запуске. В списке будут присутствовать лишь те хосты которые есть в загружаемом по умолчанию .nvh файле. Обычно значительно ускоряет запуск NetView.

Look for new hosts only in specified workgroups - Альтернативный метод опроса сети для автоматического нахождения новых хостов (рефреша). Работает обычно быстрее стандартного видит только компьютеры тех рабочих групп что указаны в поле справа (если там ничего не указать то ищет только в своей рабочей группе). Кроме того в этом режиме NetView при обновлении списка автоматически заполняет дополнительную метапаременную "os" - нее заносится предположительный тип операционной системы на хостах

IP to hostname scan and conflicts resolve method: - Метод который NetView будет использовать для определения имен хостов по их IP адресам в различных ситуациях. Возможны варианты Стандартный, используя NETBIOS и их комбинации. Стандартный метод пытается определить имя хоста по его IP адресу используя DNS reverse lookup или через WINS. Вобщем то что определит этот метод зависит от записей на сервере сети, а не от того как хозяин адреса реально назвал свой компьютер, что может вызвать некоторые проблемы. Метод определения имени хоста с помощью NETBIOS'а работает только если этот самый NETBIOS включен на том хосте и если он выдаст вам небходимую информацию. Зато это имя будет именно тем именем под которым хост виден в сетевом окружении и кроме того этот метод может работать быстрее стандартного. Комбинации могут использоваться для того чтобы вначале попытаться определить имя с помощью стандартного метода и если не получится - то с помощью NETBIOS или наоборот.

Share images

Здесь можно сопоставить картинки в меню Shares и в Share Scaner'е по маскам имен ресурсов. Картинки - это 16х16 bmp файлы в каталоге \ShareImg нетвью.

Scripts

Здесь можно запустить\остановить или настроить автозапуск скриптов общего назначения, лежащих в каталоге \Scripts\Scripter. Настройка осуществляется через контекстное меню по клику правой кнопкой мышки.

Service

Если хотите чтобы NetView работал сервисом, настроить режим работы сервисом или наоборот удалить NetView как сервис то вам сюда. Подробнее зачем это может понадобиться можно прочитать тут.

На верх


Plugins

Главное меню :: Плагины

Здесь можно загрузить, выгрузить, конфигурировать и настроить автозагрузку плагинов. Для этого есть соответствующие пункты контекстного меню списка плагинов. Для того чтобы установить плагин в нетвью необходимо переписать его основной .dll файл в каталог plugins и перезапустить netview. Если плагин поддерживается Вашей версией NetView - он появится в этом списке. Учтите что окно конфигурации станет доступно лишь после выполнения всех операций связанных с начальной загрузкой.

Последние версии плагинов всегда можно найти здесь.

О том как написать плагин к NetView можно прочитать здесь


Tools

Главное меню :: Инструменты

  • NetSearcher
  • Port mapper
  • NetWatcher
  • Network scaner
  • IP logger
  • Terminal
  • Resources scaner
  • NetMessenger
  • TraceRoute
  • Script editor
  • Connect network drive
  • Disconnect network drive.

NetSearcher, Terminal и Port mapper допускают запуск нескольких инстанций. Для этого воспользуйтесь контекстным меню соответствующих кнопок на панели инструментов. Либо нажимать соответствующие пункты меню при нажатой клавише SHIFT. Script editor вообще является по сути подгружаемым из .dll модулем так что их так же можно открывать сколько угодно.


Windows

Главное меню :: Окна

Надеюсь не нужно объяснять зачем оно


Help

Главное меню :: ?

Меню служит для того, что бы вы смогли попасть сюда [image] Здесь отображаются все chm файлы найденные в каталоге \Help.


NetSearcher

Поиск файлов (NetSearcher)

Это поисковик файлов в сети, позволяющий искать файлы и каталоги по заданным маскам(нескольким одновременно), размеру файла. Умеет искать файлы как по NETBIOS так и по FTP протоколам. Можно редактировать список машин подлежащих поиску, сохранять результаты поиска в текстовый файл либо в html виде с ссылками. Поиск может вестись в циклическом режиме, пока не будут сканированы все машины списка. Используется многопотоковый механизм поиска, значительно ускоряющий поиск. Найденные файлы можно автоматически скачать во время или в конце поиска. Настройки поиска можно сохранять в пресеты и потом быстро загружать. Поисковик может работать в режиме обновления списка - периодически начиная поиск, добавляя в список новые файлы и удаляя те, которые он не видел больше указанного количества часов.


NetSearcher::Установки

Поиск файлов (NetSearcher) :: Закладка Установки

Time limit - ограничение времени на сканирование одного хоста. Если какой-то хост сканируется время большее чем здесь указано - он автоматически скипается (в поле Searched ставится "yes").

Max directory tree depth - максимальная глубина каталогов, куда будет "рыть" поисковик. Для ftp серверов корневым каталогом является сам сервер, для NETBIOS ресурсов - шара.

Cycled searching - режим циклического поиска, при котором поиск проводится циклически, пока для всех хостов не будет Searched="yes" или пока поиск не будет прерван вручную нажатием кнопки "Stop";

Save filelist on finish - при включенном чекбоксе файллист будет сохранен автоматически после окончания процесса поиска. При щелчке по этому чекбоксу открывается окно, в котором указываются опции сохранения файллиста.

Recheck hosts - перепроверять хост перед тем как искать на нем файлы. Экономит время, если в списке много выключенных машин.

Autosearch on - Поисковик умеет автоматически начинать сканирование по таймеру. Для этого служит эта опция . В строчке внизу необходимо указать времена когда начинать поиск через ; Например: "08:10;10:45;16:30" или "06:30".

Threads count - максимально количество потоков одновременного поиска (каждый поток сканирует отдельный хост одновременно с другими, что ускоряет поиск, но на слабых машинах с установленной Win 9x большое количество потоков может значительно замедлить работу системы либо привести к краху системы).

Priority - приоритет потоков. Малое значение замедляет поиск при одновременном выполнении других программ, большое - замедляет другие программы.

Use script - позволяет задать скрипт из каталога \Scripts\Searcher который может обрабатывать результаты поиска файлов. (Подробнее о скриптах)

No filelist mode - выключает ведение файллиста самим NetSearcher'ом. При включении этой опции результаты поиска файллов могут обрабатываться только скриптами. Поскольку в этом случае НВ не держит весь список файлов в памяти, это позволяет проводить поиск и индексацию в БД большого количества файлов с минимальным использованием RAM.

Enable list-update mode - включает режим обновления файллиста, при котором нетсичер при сохранении файллиста в файл автоматически сохраняет состояние файллиста во врменный .sfl файл в каталоге нетвью, при следующем поиске нетвью загрузит этот файл и будет добавлять туда лишь новые файлы.

Delete if not found on searched - после завершения поиска NetSearcher проходит по созданному списку файлов, удаляет из него те файлы которые были удалены с хостов на которых был успешно проведен поиск

Display files as new for - здесь можно указать в течении скольких часов после первого нахождения поисковик будет считать файлы новыми. Новые файлы выделяются в html списке цветом.

Delete files not refreshed for - если нужно чтобы старые файлы, которых поисковик не видел в течении определенного периода времени удалялись автоматически - включите эту опцию и укажите по истечении скольких часов после последнего обнаружения файлы будут удаляться.

Кроме того если кликнуть на Host table правой кнопкой мыши то можно найти возможность импорта вручную и автоматом при запуске поиска включенных или всех хостов из всех или выбранных списков NetView.

На верх


NetSearcher::Установки

Поиск файлов (NetSearcher) :: Закладка Пресеты установок

Здесь Вы можете сохранить текущие настройик в пресет, загрузить уже сохраненные настройки, либо удалить существующий пресет.

Presets list - список пресетов установок, изначально пусто, но вы можете настроив поисковик например на поиск музыки в mp3 формате сохранить все настройки в пресет. При выходе нетвью запоминает какие были запущены поисковики с какими загруженными пресетами, и при следующем запуске автоматически запускает то же количество поисковиков что было активно при выходе, загружая в них те пресеты которые были тогда загружены.

Load selected preset - загружает выделенный в списке пресет, восстанавливая все установки

Delete selected preset - удаляет выделенный в списке пресет.

Save current options as - сохраняет все текущие установки в пресет, имя которого написано внизу.


NetSearcher::Filter

Поиск файлов (NetSearcher) :: Закладка фильтр

Закладка Filter

Search for: - что искать - файлы, каталоги или тои другое.

Filesize MIN: ##1 MAX: ##2 ##3 - ограничение по размеру для найденных файлов. Файлы других размеров пропускаются. Если в поле выбора единиц размера файла выбрать последний пункт No size, то размер файла не будет опрашиваться, что несколько ускоряет поиск.

Search masks - маски для поиска. Например *.avi -ищет все файлы с расширением avi, cool*.mp3 - ищет все файлы название которых начинается на cool с расширением mp3 и тп.

Only if path include - включать файл в список только если путь к файлу содержит один из указанных фрагментов.

Only if sharename incllude - искать только в ресурсах, в названиях которых есть указанные фрагменты. В других ресурсах поиск не производится, что позволяет ускорить поиск *.avi файлов, прописав сюда значения media, video, film и тп. В случае поиска по FTP именами шар считаются имена папок первого уровня.

Skip if path include - не проводить поиск в путях, в которых есть указанные фрагменты.

HostTable -это список машин, подлежащих поиску. Редактировать его Вы можете пользуясь контекстным меню по клику правой кнопкой. Особое значение имеет поле Searched. Хост будет сканироваться только если его значение отлично от yes. Если хост был уже один раз просканирован или пропущен из-за лимита времени или ошибки во время поиска это поле для него выставляется в yes. Редактировать можно через всплывающее меню->Set SEARCHED.


NetSearcher::save

Поиск файлов (NetSearcher) :: Сохранение результатов

Ниже HostTable находится список найденных файлов. Вы сможете его сохранить или очистить так же воспользовавшись контекстным меню, либо двойным щелчком на каком-либо файле открыть каталог, где он лежит.

Окно сохранения файлиста Save filelist имеет следующие настройки:

File - пусть к файлисту, может содержать кодовые комбинации %d и %t для вставки даты и времени соответственно. Если путь не существует нетвью создаст его автоматически.

Encoding - выбор желаемой кодировки, напимер кои-8 для html

Type - формат файллиста текстовый, html, или по заданным шаблонам

Enable PING buttons - в файллисте напротив каждой ссылки будет кнпка Ping, позволяющая пинговать хост перед открытием, чтобы проверить включен ли он

Enable KILLCOPY buttons - позволяет скачивать файлы посредством KillCopy не открывая самих ссылок. Необходимо чтобы в системе была установлена KillCopy 2.42 как минимум.

Enable references to path - включить ссылки на пути к файлам

Enable references to file - включить ссылки на сами файлы

Include filesize column - в файллисте будет столбец с размерами файлов.

Add hostlist in beginning - в начало файллиста будет вставлен список машин HostTable на которых проводился поиск (оба столбца)

Sort by... Выбор типа сортировки

Autoadjust columns width - автоматически подбирать ширину столбцов. Если отключить, то ширину всех трех столбцов придется указывать вручную ниже. Для текстовых файлов ширина указывается в символах, а для HTML - в пикселях.

Шаблоны при сохранении в HTML формат

Сохранение по шаблонам возможно при включении соответствующего формата.

Всего есть 4 шаблона - главный, шаблон хоста из hosttable, обычный шаблон файла и шаблон файла отмеченного как новый (см поиск в режиме обновления списка).

  • Главный шаблон - представляет собой общий скелет результируещего html файла. Он может содержать следующие служебные последовательности (без кавычек):
    • "%d%" - вставляет текущую дату
    • "%t%" - вставляет текущее время
    • "%totalhosts%" - вставляет общее количество хостов в Hosttable
    • "%searchedhosts%" - вставляет количество хостов в Hosttable на которых последний поиск был успешен
    • "%pathwidth%" - вставляет рассчитанную или указанную ширину столбца путей к файлам
    • "%namewidth%" - вставляет рассчитанную или указанную ширину столбца имен файлов
    • "%sizewidth%" - вставляет рассчитанную или указанную ширину столбца размеров файла
    • "%hostentries%" - вставляет последовательность хостов сформированную по шаблону хоста
    • "%fileentries%" - вставляет последовательность файлов сформированную по шаблонам файла

  • Шаблон хоста - представляет собой элемент списка хостов вставляемого в общий шаблон на месте %hostentries% Он может содержать следующие служебные последовательности (без кавычек):

    • "%hostname%" - вставляет имя хоста
    • "%searched%" - вставляет "yes" или "no" в зависимости от того был ли поиск на хосте успешно завершен

  • Обычный шаблон и шаблон нового файла - представляет собой элемент списка хостов вставляемого в общий шаблон на месте %fileentries%. В зависимости от того файл является новым или нет используется соответсвующий шаблон. Он может содержать следующие служебные последовательности (без кавычек):
    • "%hostname%" - имя хоста на котором расположен файл
    • "%path%" - путь к файлу. Например "\\hostname\share\path" или "ftp://server/path/"
    • "%pathurl%" - путь к файлу, преобразованный к виду, годному к употреблению в качестве url ссылок ("\\hostname\share\path" превращается в "file://hostname/share/path")
    • "%namel%" - имя файла
    • "%pathname%" - путь и имя хоста сразу
    • "%pathnameurl%" - путь и имя хоста сразу, преобразованные к виду, годному к употреблению в качестве url ссылок
    • "%pathjs%" - путь к файлу пригодный в качестве параметра для java-скриптов. В нем все символы "\" заменены на "\\" а "'" заменен на "\x27"
    • "%namejs%" - имя файла пригодное в качестве параметра для java-скриптов.
    • "%pathnamejs%" - путь+имя файла пригодное в качестве параметра для java-скриптов.
    • "%size%" - размер файла
    • "%pathwidth%" - вставляет рассчитанную или указанную ширину столбца путей к файлам
    • "%namewidth%" - вставляет рассчитанную или указанную ширину столбца имен файлов
    • "%sizewidth%" - вставляет рассчитанную или указанную ширину столбца размеров файла


Terminal

Терминал (Terminal)

Средство, позволяющее подключаться к удаленному IP/порту и работать в терминальном режиме. Если в системе установлено несколько IP можно выбрать локальный адрес с которого устанавливается подключение. Полей ввода текста для посылки 2 - префикс и суффикс. При нажатии ввода в первом поле посылается все что написано в нем и поле очищается, при нажатии во втором поле - посылается строка, состоящая из обоих полей, правое поле очищается а левое остается. Ввод текста так же может осуществляться побуквенно путем нажатий клавиш в поле текста. Кнопкой Send file можно послать небольшой файл. Терминал так же можно использовать для ожидания входящих соединений (server). Для этого надо выбрать локальный порт и адрес (если хотите) и нажать Listen. Обработкой поступающего потока информации и выводом на экран занимаются скрипты терминала, что позволяет писать скрипты для работы с различными текстовыми (и не только) протоколами, или изучать эти протоколы.


Port mapper

TCP мост (Port mapper)

Слушает соединения на указанный порт, и при запросе на соединение, устанавливает соединение с удаленным сервером на любой порт и в дальнейшем перенаправляет траффик между ними. Позволяет задавать разрешенные IP адреса, отключать любое соединение принудительно, ведет лог (3 уровня детализации). Полезно, например если Вы хотите чтобы через Вас кто-то мог подключится к сервису на другом компьютере к которому Вы имеете доступ, а этот кто-то нет, или если нужно проанализировать неизвестный TCP протокол.


NetWatcher

Монитор подключений (NetWatcher)

NetWatcher - монитор активных сетевых соединений. Позволяет видеть кто и что у Вас качает на данный момент и в недалеком прошлом. Можно прервать любую(либо все сразу) сессию. Ведет лог соединений, в котором пишется имя и IP адрес компьютера, имя пользователя установившего сессию, тип используемой ОС и все открытые за сессию файлы. Файлы открытые для чтения рисуются зеленым цветом, для записи фиолетовым, а созданные - красным. Есть функция черного и белого списков. По умолчанию любой пользователь из черного списка отключается автоматически. Можно поставить отключение всех пользователей, кроме белого списка. Можно сопоставить различные звуки при подключении обычного пользователя, или пользователя какого-либо списка. Так же выводится статистика по службам SERVER и WORKSTATION на локальной системе. Есть возможность повесить всплывание окна NetWatcher'а и функцию отключения всех текущих сессий на горячие клавиши. Функция Popup in compact mode, при включении которой окно NetWatchera всплывает по горячей клавише и по клику средней кнопкой по иконке NetView в трее в упрощенном режиме, - только текущие соединения. Еще можно щелкнув по флажку Show shares убрать все расшаренные ресурсы. Поставив флажок на место Вы восстановите все назад.

Закладка Active connections - здесь Вы видите все текущие подключения и открытые файлы. Как только файл закрывается он автоматически переносится в History. Файлы открытые для чтения рисуются синим, для записи - фиолетовым, созданные - красным цветами. Шары открытые в сессии так же отображаются здесь, но коричневым цветом.

Закладка History - история всех соединений. Хранится в лог-файле. Размер ее для удобства чтения может быть ограничен максимальным количеством клиентов. После которого переименовывается, либо просто обрезается лог-файл (в зависимости от установок).

Закладка Shares - список расшаренных на Вашем компьютере ресурсов. Через контекстное меню люой ресурс(либо все сразу) может быть временно "спрятан" - попросту шара прибивается, а ее настройки сохраняются в .ini файл. Так же щелкнув по подключившемся к шаре компу Вы можете занести его в kick лист (либо в keep/popup) для этой шары.

Закладка Options - Здесь находятся все настройки нетвочера и kick/keep/popup/skip списки пользователей. В списки можно вносить либо просто пользователей, либо делать ограничения различным пользователям на различные шары. То есть можно, например, запретить компьютеру MASHA лазить в шару XXX. А все другие шары будут доступны. Skip лист - это список компьюеров которые не будут вносится в лог.

Здесь же задаються горячие клавиши для вызова окна нетвочера и кика всех подключенных на данный момент пользоваталей. Обратите внимание на опцию Refresh period - чем меньше ее значение тем меньше вероятность того что нетвочер не заметит открытия файла. Но при этом так же увеличивается загрузка CPU. Включив Kick all except keep лист, Вы как бы вносите всех в черный список, при этом скачивать файлы смогут только те, кто занесен в Keep list. При включении Don't log empty sessions нетвочер не будет запоминать в истории сессии, в которых не было открыто ни одного файла. Начиная с версии 2.79 появилась возможность мониторить не только свой комп, но при наличии прав администратора - и удаленный. Просто введите Server name: имя сервера и нажмите Change server чтобы применить изменение. Нетвочеров можно запускать много - по 1му на каждый сервер.

На верх


IP logger

IP монитор (IP logger)

Выводит список текущих TCP/UDP соединений (вывод имени процесса держащего открытый порт работает только на Win XP), статистику по протоколам TCP,IP,ICMP. Имеет функцию предупреждения о сетевых DOS атаках типа SYN, UDP и ICMP flood. Для этого необходимо установить порог срабатывания оповещения. Для ICMP и SYN пакетов можно установить цифру ~100 запросов в секунду. Если количество запросов будет превышать эту цифру, прозвучит сигнал оповещения и иконка нетвью в трее изменится - станет полностью красной. Умеет вести логи установленных соединений, причем можно установить фильтрование лога. Например стоит отключить ведение лога для соединений использующих 135й, 139й и 80й TCP порты.
Щелкнув правой кнопкой мыши на любом Estabilished соединении можно его разорвать. В состав IP Logger'а входит Port listener- эта штука умеет ждать соединения на указанные порты (по умолчанию включены порты большинства троянов), имеет функцию Scan chaser. Последняя сбивает с толку удаленный сканер портов - при соединении на любой из просшлушиваемых портов Listener открывает еще несколько десятков по номеру ненамного отличающихся от начального. Для изменения прослушиваемых портов (включения и выключения, измененияскрипта ), необходимо ставить\снимать галочки в портлиста или воспользоваться контекстым меню портлиста (правый клик на списке). Не стоит открывать больше 50 портов - открытие большего числа портов для прослушивания может затормозить сетевую подсистему Windows. Начиная с версии 2.76 появилась возможность навешивания различных скриптов на открыте порты, которые могут выполнять функции различных служб. Например с помощью HTTP скрипта можно организовать мини-HTTP сервер, что позволит другим заходить на Вашу машину по http протоколу


Network scaner

Сканер сети (Network scaner)

Сканер, позволяющий находить открытые порты на одном, либо диапазоне IP адресов. Порты можно сканировать так же в каком-то диапазоне, либо по списку в файле. При нахождении IP адреса автоматически определяется соответствующее имя компьютера, которое тут же можно внести в общий список. Если удаленный компьютер сразу после соединения посылает какую-либо строку - она выводится в столбце Responce. Если хост разрывает соединения сразу после установки - он выводится синим цветом. Так же умеет перебирать IP адреса, находя те, которые прописаны в DNS или пинговать диапазон или составленный список IP адресов. Имеется поддержка скриптов для "продвинутого" сканирования портов. Диапазон адресов задается примерно в таком виде: "192.167-169.0-10.1-254", можно вписать несколько диапазонов, разделив их точкой с запятой: "192.167-169.0-10.1-254;10.100.10.1-254"

Так же можно сканировать хосты из хостлистов - для этого включите Main hostlist. Если включить Online сканер будет сканировать только включенные хосты, что ускорит процесс сканирования. Можно выделить несколько хостов в списке и включив Selected просканировать только их. Опция Parallel requests регулирует максимально число одновременных запросов. Если Вы заметили что сканер путает IP при сканировании (такое бывает под XP), уменьшите ее значение. Timeout - время ожидания ответа на каждый запрос, не работает для DNS и ARP сканирования. Насканировав кучу машин из диапазона можно сразу их внести в Default хостлист, либо сохранить результаты в файл - для этого щелкните правой кнопкой мыши на таблице результатов и выберите Save to file. Если при этом была включена галка De-duplicate names то сканер при обнаружении в хостлисте хостов с таким же именем но другим ИП добавит новые хосты по ИПшнику, а имя хоста запишет в комментарии.

Описание типов сканирования:

  • DNS - сканер последовательно пытается определить имена у всех IP адресов. Если имя определяется (резолвится) - то адрес и имя вносятся в список найденных.
  • PING - сканер последовательно пингует все адреса, в список найденных добавляются те, которые ответили на пинг. В responce пишется задержка эхо-ответа в миллисекундах.
  • ARP - сканер последовательно шлет ARP запросы на определение MAC адреса каждого IP. Работает только в пределах сегмента (до роутера). В поле Responce записываются найденные MAC адреса.
  • TCP - сканер сканирует IP адреса пытаясь подключится к портам из диапазона или файла - списка портов. Возможно исполнение скриптов при нахождении открытых портов. Скрипты могут подробно исследовать удаленные системы. В столбце Responce пишется либо результат исследования скрипта, либо, если скрипта для найденного порта нету, - строка которую шлет удаленный хост сразу при подключении.
  • UDP - сканер сканирует UDP порты на указанных адресах слудующим методом: вначале нетвью посылает на указанные порты пакет с данными размером 1 байт. Затем через указанный интервал времени проверяет на какой из портов пришел отклик ICMP Destination port unreachable и исключает их из списка открытых портов. Затем повторно обходит теже порты и делает это столько раз сколько указано в UDP scan passes каждый раз исключая закрытые порты. Отсюда и особенность сканирования - при сканирвании например выключенного или зафайрволленного IP сканер покажет открытыми все UDP порты. В столбце Responce или ничего не пишется или пишется результат исследования скриптом.


Share scaner

Сканер ресурсов (Resources scaner)

Эта штука может использоваться для 2х целей:

  • Составляет список открытых по FTP/NETBIOS/HTTP ресурсов на всех компьютеров сети, с указанием прав доступа (кроме HTTP). Можно задать имена пользователей, от которых проводится подключение, так же проводится попытка перечисления пользователей удаленного хоста (работает применительно к WIN'NT/2000). Тут же, нажав правой кнопкой, можно открыть сетевой ресурс, либо подключить сетевой диск (для NETBIOS).
    Опция Selected позволяет сканировать только выделенные во всех хостлистах хосты. Резульат можно сохранить в текстовые файлы SHARELIST.TXT и SHARETREE>TXT в каталоге нетвью\Export - правой внопкой мыши Save to... Либо включив опцию Save to file - в этом случае нетвью автоматически сохранит этот файл после завершения сканирования. Включив опцию Recheck Вы ускорите сканирование за счет того, что не будут производится попытки подключится к выключенным хостам.

  • По умолчанию сканер ресурсов ищет FTP и NETBIOS ресурсы на хостах в зависимости от их настроек. При включении опции FTP/NETBIOS autodetection сканер ресурсов будет определять наличие таких ресурсов автоматически (путем сканирования портов 139,445 и 21) и при необходимости менять настройки хостов в хостлисте

  • Чтобы сканер находил HTTP ресурсы нужно включить в общих настройках программы на вкладке Opening определение HTTP ресурсов

  • Имеется 2 возможности вывода результатов - из кэша и собственно сканированием. При выводе результатов из кэша это делается очень быстро, но при этом отображается информация, сохраненная для каждого хоста при последнем обращении к нему (в сканере ресурсов или из подменю Ресурсы).

  • Удобно например, отсканировав один раз все ресурсы, затем избирательно быстро выводить из кэша только те, что имеют в своем составе к примеру слово game или music, очищая результат, вводя маску поиска и нажимая кнопку загрузки результатов из кэша.

  • Маска для сканирования и исключений задается с использованием символов * - означает любую последовательность символов, ? - один символ. Можно задавать несколько масок поиска и исключений разделяя их символом ;. Например следующая маска может быть испольована для поиска ресурсов с музыкой: mp3;*music*;sound*;song* - при этом будут показаны ресурсы названия которых подпадают под какую либо из масок. С исключениями наоборот - если название ресурса подпадает под исключение он не будет показан.


NetMessenger

Послать сообщение (NetMessenger)

Умеет посылать сообщения на компьютеры с установленной WIN'NT/200/XP, на которых запущена служба сообщений (Messenger service), которая устанавливается по умолчанию при установке системы. Сообщения в отличии от консольной команды net send можно слать от произвольного имени (эта функция работает не под всеми Windows). Опция Monitor incoming управляет службой сообщений - отключив этот флажок, Вы перестанете получать какие-либо сообщения. Включив опцию Use NetView monitoring вы включите встроенный монитор сообщения NetView, при этом Windows messenger service будет остановлен. Под Win9x нетвью так же умеет принимать сообщения с помощь. этой опции. Опция Enable flood filtering позволит фильтровать повторяющиеся сообщения от одного и тогоже отправителя.


TraceRoute

Трассировать маршрут (TraceRoute)

Окошковый tracert. Позволяет протрассировать маршрут до указанного хоста, выводя среднюю задержку прохождения (при включенной опции Force max tries) по различным участкам и пытаясь определить названия промежуточных хостов (при включенной опции Resolve hostnames). Трассировка маршрута происходит путем посылки ICMP эхо запроса или TCP SYN запросов с постепенно увеличивающимся значением TTL в IP заголовке. Если TTL недостаточно для прохождения пакета до кончного пункта назначения по стандарту маршрутизатор, NAT или другое сетевое устройство, отбросившее пакет, должно послать уведомляющее ICMP сообщение отправителю. По полученным таким сообщениями и строиться маршрут. Когда TTL будет достаточен для прохождения пакета до конца хост либо ответит на него ICMP эхо ответом на эхо запрос, либо TCP SYN-ACK или RST ответом на TCP SYN запрос - по приходу такого ответа построение маршрута заканчивается. Использование TCP-SYN режима требует наличия в системе работоспособных RAW сокетов или использования драйвера WinPCap.
Через контекстное меню по правому клику на списке хостов снизу можно сохранить маршрут в файл либо скопировать все или выделенные пункты в буфер обмена.


Лицензия

Инструменты :: Редактор скриптов

Простая IDE для написания и нахождения синтаксических ошибок в скриптах NetView. Имеет настраиваемую подсветку синтаксиса. Может запускаться как из самого NV так и из главного меню, где NV создает свою программную группу. В отличии от обычных текстовых редакторов этот не имеет возможности выбирать любой каталог или файл на диске для редактирования - файлы скриптов выбираются жестко в каталогах в \Scripts\...\.


Плагины NetView

Скрипты NetView

Скрипты нетвью это программы с синтаксисом языка Pascal, но с добавленными некоторыми дополнительными функциями. В качестве скриптового "движка" был использован Innerfuse Pascal Script, он поддерживает большинство фич обычного Pascal'я, и подробно о нем можно почитать (и скачать) на сайте его производителя - http://www.carlo-kok.com. Если вы захотите использовать свои скрипты, вам придется записать файл скрипта в соответствующий каталог в \SCRIPTS и совершить некоторые дополнительные действия (см. ниже). Это можно сделать редактором скриптов самого NetView или любым другим текстовым редактором. Перезапуска нетвью при изменениях текста скрипта не требуется, требуется только перезапуск скрипта при необходимости. Скрипты могут использоваться для следующих целей:

  • Скрипты общего назначения. Раньше такие скрипты исполнял плагин Scripter, теперь он не нужен - их может использовать сам NetView. Такие скрипты могут управлять хостлистом, реагировать на основные события netview, вобщем полезная вещь. Сами скрипты лежат в \Scripts\Scripter а управление ими (загрузка\выгрузка\автозапуск) находится на закладке Scripts окна настроек Preferences. После установки вы там найдете следующие (и еще некоторые) скрипты:
    • emailalert.nvs - как следует из название скрипт предназачен для оповещения по почте. По умолчанию скрипт умеет оповещать о включении\выключении хостов помеченных как alertable. Отсылка почты происходит при помощи небольшой внешней программы-мэйлера QMAILER.EXE которую можно найти в каталоге NetView
    • htmlreport.nvs - умеет сохранять список включенных хостов после каждой перепроверки или обновления списка. По умолчанию список сохраняется в \Export\htmlreport.html но путь и имя легко меняются в тексте скрипта что позволяет например сохранять файл как \Scripts\HTTP\DefaultHost\index.html и затем каждый в сети сможет посмотреть состояние хостлиста и открыть включенные в данный момент компьютеры набрав ваш адрес в строке браузера. Если конечно у вас включен скрипт Port listener'а listen_http.nvs.
    • namechanges.nvs - ведет лог изменения имен хостов хостлиста
    • statelogger.nvs - ведет лог изменения состояния хостов хостлиста (метапеременная ison)
    • togglestate.nvs - создает в контекстом меню хоста пункт позволяющий менять online состояние хоста из меню вручную
    • Searcher_PHP_Base.nvs - после включения этот скрипт срабатывает после каждого речека и завершения работы NetSearcher'а, ищет в папке Scripts файлы заканчивающиеся на .FileList (созданные скриптом нетсичера Generate_FileList.nvs) и формирует по ним 2 файла - имя одного начинается со слова All. другой - Online. - в них соотвественно записи о найденных нетсичером файлах расположенные на любых, и на только включенных в последнем речеке хостах. Эти файлы затем могут использоваться PHP движком который можно найти в searcher_php.zip.
  • Скрипты Listener'а. В нетвью есть инструмент Port Listener, умеющий принимать TCP соединения на заданные порты. С помощью скриптов можно научить нетвью эмулировать многие службы, обманывая продвинутые сканеры портов, и даже позволяя организовать некоторые сервисы по-настоящему. В листенере скрипты привязываются к номерам портов, поэтому если вы захотите написать и подключить свой скрипт то вам необходимо будет добавить файл скрипта в \Scripts\Listener и добавивнужный порт в портлист сопоставить ему ваш скрипт. По умолчанию вместе с нетвью поставляются следующие Listener-скрипты:
    • ftp.nvs - позволяет эмулировать запрос на логин на FTP сервер. Всегда ругается что логин\пароль не верный.
    • http.nvs -позволяет организовать простейший HTTP сервер, позволяющий браузить на вашем компьютере HTML странички с картинками, а так же скачивать файлы по HTTP. При этом главная страница сайта должна находится в файле \scripts\HTTP\DefaultHost\index.html, осталбные файлы и странички на которые есть ссылки из нее - тут же рядом.
    • netbus.nvs -скрипт, эмулирующий сервер довольно известного трояна NetBus. Со стороны выглядит совсем как живой Ж;-).
    • smtp.nvs -эмулирует SMTP сервер. Если ктото додумается отправить на ваш компьютер почту он все запишет в файл SMTPmail.txt в каталоге скриптов.
    • socks.nvs -шлет ответ что мол есть неанонимный сокс сервер и через 5 сек рвет конект. Если chr(2) поменять на chr(0) то сокс сервер станет анонимным Ж;-).
    • telnet.nvs -простейшая эмуляция TELNET сервера с анонимным доступом. Умеет делать ls и quit. На cd ругается что недостаточно прав Ж;-).
    • raccess.nvs -скрипт, позволяющий удаленно управлять состоянием хостов в хостлисте. Полезен для например мониторинга состояний устройств, подключенных к другим компьютерам, и не имеющих IP адреса. Для этого надо запустить на том компьютере утилиту, которая будет следить за состоянием такого устройства и связываться с NetView, управляя хостлистом. Для безопасности в скрипте допущена синтаксическая ошибка - буква Z в самом начале скрипта - потому как если включить этот скрипт не сменив пароль по умолчанию то можно дать шанс злоумышленнику удаленно управлять хостлистом.
  • Скрипты Network scaner'а. Позволяют организовать продвинутое сканирование TCP портов. Скрипты лежат в \Scripts\Scaner. Если надо добавить свой скрипт, то открываете там файл nvscripts.ini, добавляете в него секцию [TCP_#] для TCP портов или [UDP_#] для UDP, где # - номер порта в десятичном представлении и в ней параметр script=filename.nvs. За неимением времени и достаточных сведений пока есть только экзампловый скрипт для сканирования нетбаса (scan_netbus.nvs).
  • Скрипты Terminal'а. Терминал нетвью по сути есть связка нетвью, выполняющего все функции ввода\вывода текстовой инфы для юзера а так же функции передачи данных по сети и скрипта, который управляет всем этим делом. Такая организация позволяет зная лишь Pascal писать TCP клиенты и многопотоковые серверы на скриптах. Например можно искать дырки на удаленном сервере, написать свой клиент для какого нибудь текстового протокола, например довольно несложно написать IRC бота. Если хотите добавить свой скрипт нужно добавить свой .nvs файл в каталог \Scripts\Terminal. Вместе с нетвью поставляются следующие скрипты для терминала:
    • raw.nvs -как видно из названия это RAW терминал. То есть нажал клавишу - ушел байт. Ввел строчку внизу - ушла строчка как есть. Пришли данные - прямо в чистом виде и отобразились на жкране терминала.
    • chat.nvs -скрипт, позволяющий организовать на нетвью простейший чат. Для этого ктото должен запустить этот скрипт в серверном режима, а осталбные должны на него конектится и разговаривать.
    • telnet.nvs -самый натуральный, правда слегка кривоватый telnet, с поддержкой ANSI текстовой графики. Из достоинств - если вы выделите текст в терминале и нажмете Ctrl+Ins он скопируется в буфер обмена (как это ни странно Ж)). А если вы потом вставите его в каком-нибудь Word'е - он вставится с сохранением всей псевдографики и цветов. А еще он лучше чем обычный виндовый Telnet понимает русские символы.
    • whois.nvs -скрипт для обращения к whois сервисам для получения информации о ИП адресах и доменных именах
  • Скрипты NetSearcher'а. Позволяют обрабатывать результаты поиска файлов в реальном времени и управлять NetSeacher'ом. Имеются 3 скрипта:
    • Auto_Re_Search.nvs - автоматически запускает поиск заданное количество раз через заданные промежутки времени на тех хостах на которых все предыдущие поиски с момента запуска поиска вручную или по расписанию были неудачны.
    • Generate_FileList.nvs - этот скрипт генерирует специальный файллист в каталог \Scripts и имеющий расширения .FileList - этот файл затем может быть использован скриптом общего назначения Searcher_PHP_Base.nvs а тот в свою очередь генерирует файллист пригодный для создания интерфейса веб-странички поисковика файлов.
    • Generate_DataBase.nvs - этот скрипт сохраняет список файлов в Paradox'овую таблицу, требует чтобы на компьютере был установлен BDE (Идет с Delphi и C++ Builder'ом)
  • Скрипты NetWatcher'а Позволяют управлять NetWatcher'ом. Имеются 2 скрипта:
    • FreeResourcesForThis.nvs - этот скрипт периодически проверяет список активных процессов, и закрывает шаринг если обнаруживает в списке какой-либо из указанных процессов. Полезно например для автоматического закрытия шаринга при запуске игр.
    • KickGreedUsers.nvs - этот скрипт проверяет каждого подключившегося пользователя на предмет наличия расшаренных ресурсов, при отсутствии таковых - пользователь заносится в кик-лист


Плагины NetView

Скрипты NetView :: Скрипты общего назначения

Такие скрипты в общем случае могут быть двух типов:
  1. Работающие непрерывно после запуска и отвечающие на определенные события, уведомления о которых им посылает NetView. Скелетом таких скриптов является циклический вызов функции waitevent которая ожидает происхождения какого-либо события. Когда скрипт вызывает waitevent он входит в режим ожидания на неопределенное время. Выход из нее происходит при каком либо событии - например произошел речек, или юзер кликнул контекстное меню, так же можно заставить нетвью посылать скрипту событие таймера через определенный интервал времени. Подробный список событий можно прочитать в описании функции waitevent. События, происходящие в NetView посылаются в функцию waitevent в порядке очереди и в этом же порядке извлекаются из очереди при каждом вызове функции (полная аналогия с WINAPI GetMessage, фактически внутри скрипт-энджина вызывается именно она).
  2. Запускаемые из менеджера скриптов на закладке Scripts окна Preferences, делающие необходимые функции (например экспорт состояния хостов в БД, или еще что нибудь) и тут же завершающие работу. Таким образом можно автоматизировать выполнение некоторых функций при запуске нетвью, прописав такой скрипт в автозапуск (Autoload поставить в Yes). Такие скрипты не вызывают waitmessage и являются "одноразовыми" - они не могут реагировать на какие либо события NetView.

Доступ к хостам.

Хостлист нетвью представляет собой своеобразную базу данных по хостам. Каждый хост имеет уникальный идентификатор типа integer, который не меняется в течении данного сеанса работы. Скрипт может обходить список всех хостов, либо только выделенных мышкой. Он может так же получать имя и IP адрес хоста по его идентификатору, определять идентификатор, зная имя или адрес, изменять имя или адрес, получать значение метапеременных хоста зная его идентификатор или присваивать им новые значения. Некоторые сообщения NetView, выдаваемые функцией waitevent (такие как например NMNP_ALERT) передают идентификатор хоста в качестве одного из своих параметор, либо наоборот чтобы сделать перепроверку состояния какого-либо хоста с помощью функции action, скрипт должен указать его идентификатор в качестве ее параметра. Для работы с хостами в скрипте есть встроенный класс TNVHOST. У него есть несколько полей и 2 основных метода: GETHOST - для получения всех данных хоста по его идентификатору и SETHOST для внесения всех изменений IPдреса и имени хоста, совершенных скриптом, в хостлист (так просто изменения этих данных не приводит к к изменению соответсвующих данных хоста в списке). Список всех методов и полей TNVHOST'а можно почитать здесь, посмотреть это на деле можно в скрипте "togglestate.nvs"

Для создания менюшек служит объект TNVMENUITEM. Прочитать про его поля и методы можно здесь, посмотреть это на деле можно в скрипте "togglestate.nvs"

Функции управления

procedure SetStatus(txt:string);

  • Устанавливает статус скрипта в таблице списка скриптов плагина
    • txt -строка статуса

procedure SetTimer(interval:integer);

  • Запускает таймер посылающий скрипту сообщение с кодом 8 через заданный интервал времени
    • interval -интервал в мсек. Если interval=0 то установленный ранее таймер отключается

function WaitEvent(var wparam, lparam: integer): integer;

  • Ожидает сообщение о каком-либо событии
    • wparam, lparam -параметры характеризующие события (см ниже)
    • Возвращает код события (см ниже)

  • Код события NMNP_ALERT, wparam может иметь следующие установленные битовые маски (проверять операцией AND):
    • NVALERT_NETWATCHER - событие в NetWatcher'е. Если (wparam AND NVALERTMASK_CANCEL)=0 значит ктото подключился, иначе - отключился. в lparam присутствует идентификатор подключившегося хоста или 0. Так же можно проверить наличие следующих флагов: если (wparam AND NVALERTMASK_NWBLACK)<>0 значит юзер из черного списка, если (wparam AND NVALERTMASK_NWWHITE)<>0 значит юзер из белого списка
    • NVALERT_ALARMHOST - для хоста, идентификатор которого находится в lparam произошло оповещение. Если (wparam AND NVALERTMASK_HOSTUP)<>0 значит хост включился, если (wparam AND NVALERTMASK_HOSTDOWN)<>0 - выключился, Если (wparam AND NVALERTMASK_CANCEL)<>0 - юзер кликнул мышкой по хосту для которого перед этим произошло оповещение
    • NVALERT_TERMINAL -произошло подключение\отключение в Terminal. lparam -идентификатор подключившегося хоста или 0.Если (wparam AND NVALERTMASK_CANCEL)=0 значит хост подключился, иначе - отключился.
    • NVALERT_REDIRECTOR -произошло подключение\отключение в Port mapper. lparam -идентификатор подключившегося хоста или 0.Если (wparam AND NVALERTMASK_CANCEL)=0 значит хост подключился, иначе - отключился.
    • NVALERT_IPLOGGER -IP logger чтото засек. Проверяем с помощью AND наличие следующих флагов:
      • NVALERTMASK_ILLIST - ктото подключился в прослушиваемому порту
      • NVALERTMASK_ILICMP - наc флудят по ICMP
      • NVALERTMASK_ILSYN - наc флудят TCP SYN пакетами
      • NVALERTMASK_ILUDP - наc флудят UDP пакетами (ненадежно)

  • Код события NMNP_ACTION, wparam может иметь следующие флаги:
    • NVACTION_LIST. lpara, может содержать идентификатор списка или 0. wparam может комбинироватся c:
      • NVACTION_GETFROMNET - произошел опрос сети на наличие новых компов
      • NVACTION_GETFROMFILE - произошла загрузка хостлиста из файла
      • NVACTION_RECHECK - произошла перепроверка списка
      • NVACTION_RETRACE - произошла перетрассировка хостов списка
    • NVACTION_ACTIVATE -приложение нетвью стало активным или наоборот ушло в фон. lparam равно wParam сообщения WM_ACTIVATE которое получило окно NetView
    • NVACTION_MENUPOPUP -сообщение о том что нарисовалась меню, lparam:
      • NVMENUFLAG_MAIN - появилось меню Plug-ins
      • NVMENUFLAG_CONTEXT -всплыло контекстное меню хостлиста
      • NVMENUFLAG_TRAY -всплыло контекстное меню иконки в области трея
    • NVACTION_IMGEXPORT - произошел экспорт визуальной карты с идентификатором lparam.

  • Код события NMNP_HOSTMSG - это сообщение НВ шлет активным плагинам и скриптам если юзер кликнул 2 раза на хосте, у которого в строке специальной команды указано hostmsg:N, где N - произвольное число
    • wparam - равен N
    • lparam - равен идентификатору хоста

  • Коды событий от $850 до $A00 можно использовать для получения событий от своих менюшек.


Плагины NetView

Скрипты NetView :: Port Listener

  • Функции приема\посылки данных удаленному хосту. Используется блокирующая модель работы, это значит что скрипт не имеет цикла обработки событий, а каждая операция передачи данных по TCP соединению приостанавливает выполнение скрипта на время своего исполнения.

    • procedure Disconnect;

    • function Recvch: string;

    • function Recv: String;

    • function Recvln: String;

    • procedure Send(s: string);

    • procedure SetEcho(EchoOn:integer);

  • Функции ввода\вывода текстовой информации

    • function Readln(question: string): string;

    • procedure Writeln(s: string);

  • Общие управляющие функции

    • function GetScriptMode:integer;

    • procedure SyncScript(I: Longint);

    • procedure WaitMe;

    • function NV_CNAME: string;

    • function NV_REMOTEIP: string;

    • function NV_PORT: integer;

    • function NV_ADDRESS: integer;

procedure Disconnect;

Выполняет разрыв установленного TCP соединения не прерывая выполнения скрипта. Но при следующем обращению к функциям передачи данных по TCP соединению выполнение скрипта прервется. Выполнение скрипта так же автоматически завершается если удаленная сторона закрывает соединение во время операции передачи данных.

function Recvch: string;

Возвращает строку длиной 1 символ принятую с удаленного хоста, ожидает данные если их нету в очереди на вомент вызова функции. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recv: String;

Возвращает все данные принятые с удаленного хоста в виде строки, ожидает данные если их нету в очереди на вомент вызова функции. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recvln: String;

Возвращает строку до символов #13 #10 из очереди чтения, ждет таких символов при необходимости. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure Send(s: string);

Отсылает строку s удаленному хосту. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure SetEcho(EchoOn:integer);

Если EchoOn = 1 то включает эхо операций приема данных - при любые данные принимаемые будут автоматически отсылатся на хост, полезно для эмуляции различных серверов терминалов. Если EchoOn = 0 то эхо отключается.

function Readln(question: string): string;

Выводит диалоговое окно с текстом question и полем ввода текста. Возвращает введенный текст.

procedure Writeln(s: string);

Добавляет строчку в лог Listener'а.

function GetScriptMode:integer;

Возвращает число 0 для скрипта работающего в листенере.

procedure SyncScript(I: Longint);

Используйте эту функцию для синхронизации с другими скриптами. Если I=1 - скрипт входит в критическую секцию, если 0 -выходит. Все действия в критической секции должны занимать минимальное время

procedure WaitMe;

Нетвью автоматически закрывает соединение после 60 сек после его установки. Вызов этой процедуры заставляет нетвью начать отсчет новых 60 секунд.

function NV_CNAME: string;

Возвращает имя своего компьютера.

function NV_REMOTEIP: string;

Возвращает IP адрес удаленного клиента.

function NV_PORT: integer;

Возвращает порт на который подключен клиент. (Поле Port)

function NV_ADDRESS: integer;

Возвращает IP адрес удаленного клиента в сетевом порядке байтов.


Плагины NetView

Скрипты NetView :: Network Scaner

  • Функции приема\посылки данных удаленному хосту. Используется блокирующая модель работы, это значит что скрипт не имеет цикла обработки событий, а каждая операция передачи данных по TCP соединению приостанавливает выполнение скрипта на время своего исполнения. Скрипты могут также работать и для UDP сканирования за тем исключением что UDP не устанавливает соединения и имеет смысл только функция Recv. Причем на ее выполнение отводится по умолчанию 8 секунд - если за это время на сокет не пришло данных нетвью прекращает выполнение скрипта. Время таймаута можно установить каждому порту по отдельности в nvscripts.ini

    • procedure Disconnect;

    • function Recvch: string;

    • function Recv: String;

    • function Recvln: String;

    • procedure Send(s: string);

    • procedure SetEcho(EchoOn:integer);

  • Функции ввода\вывода текстовой информации

    • function Readln(question: string): string;

    • procedure Writeln(s: string);

  • Общие управляющие функции

    • function GetScriptMode:integer;

    • procedure SyncScript(I: Longint);

    • function NV_CNAME: string;

    • function NV_REMOTEIP: string;

    • function NV_PORT: integer;

    • function NV_ADDRESS: integer;

procedure Disconnect;

Выполняет разрыв установленного TCP соединения не прерывая выполнения скрипта. Но при следующем обращению к функциям передачи данных по TCP соединению выполнение скрипта прервется. Выполнение скрипта так же автоматически завершается если удаленная сторона закрывает соединение во время операции передачи данных.

function Recvch: string;

Возвращает строку длиной 1 символ принятую с удаленного хоста, ожидает данные если их нету в очереди на вомент вызова функции. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recv: String;

Возвращает все данные принятые с удаленного хоста в виде строки, ожидает данные если их нету в очереди на вомент вызова функции. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recvln: String;

Возвращает строку до символов #13 #10 из очереди чтения, ждет таких символов при необходимости. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure Send(s: string);

Отсылает строку s удаленному хосту. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure SetEcho(EchoOn:integer);

Если EchoOn = 1 то включает эхо операций приема данных - при любые данные принимаемые будут автоматически отсылатся на хост, полезно для эмуляции различных серверов терминалов. Если EchoOn = 0 то эхо отключается.

function Readln(question: string): string;

Выводит диалоговое окно с текстом question и полем ввода текста. Возвращает введенный текст.

procedure Writeln(s: string);

Устанавливает описание для найденного порта, которое будет установлено в столбце Responce.

function GetScriptMode:integer;

Возвращает число 1 для скрипта работающего в сканере.

procedure SyncScript(I: Longint);

Используйте эту функцию для синхронизации с другими скриптами. Если I=1 - скрипт входит в критическую секцию, если 0 -выходит. Все действия в критической секции должны занимать минимальное время

function NV_CNAME: string;

Возвращает имя своего компьютера.

function NV_REMOTEIP: string;

Возвращает IP адрес удаленного клиента.

function NV_PORT: integer;

Возвращает порт на который подключен клиент. (Поле Port)

function NV_ADDRESS: integer;

Возвращает IP адрес удаленного клиента в сетевом порядке байтов.


Плагины NetView

Скрипты NetView :: Terminal

  • Функции приема\посылки данных удаленному хосту. Используется не блокирующая модель работы, это значит что скрипт имеет цикл обработки событий, ожидая их с помощью функции WaitEvent. Операции отправки данных работают асинхронно. Операции чтения данных из соединения могут возвращать пустую строку, не ожидая прихода новых данных.

    • procedure Disconnect;

    • function Recvch: string;

    • function Recv: String;

    • function Recvln: String;

    • procedure Send(s: string);

    • procedure SetEcho(EchoOn:integer);

  • Функции ввода\вывода текстовой информации терминала

    • function GetBroadcast:string;

    • function GetInputText(var s1,s2: string): integer;

    • procedure Gotoxy(x,y,rlt: integer);

    • procedure ClearLine;

    • procedure Clrscr;

    • function Readln(question: string): string;

    • procedure SendBroadcast(ts:string);

    • procedure SetInputText(i:integer; s: string);

    • procedure SetBackColor(i:integer);

    • procedure SetFontName(s: string);

    • procedure SetLineLength(i: integer);

    • procedure SetOemCP(i: integer);

    • procedure SetStatus(s: string);

    • procedure TextFont(i: integer);

    • procedure TextBackground(i: integer);

    • procedure TextColor(i: integer);

    • function WhereX: integer;

    • function WhereY: integer;

    • procedure Write(s: string);

    • procedure Writeln(s: string);

  • Общие управляющие функции

    • function GetScriptMode:integer;

    • procedure SetTimer(i:integer);

    • procedure SyncScript(I: Longint);

    • function WaitEvent(var i,j: integer): integer;

    • function NV_CNAME: string;

    • function NV_REMOTEIP: string;

    • function NV_PORT: integer;

    • function NV_ADDRESS: integer;

procedure Disconnect;

Выполняет разрыв установленного TCP соединения не прерывая выполнения скрипта. Но при следующем обращению к функциям передачи данных по TCP соединению выполнение скрипта прервется. Выполнение скрипта так же автоматически завершается если удаленная сторона закрывает соединение во время операции передачи данных.

function Recvch: string;

Возвращает строку длиной 1 символ принятую с удаленного хоста. Если данных в очереди нет возвращается пустая строка без ожидания поступления данных. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recv: String;

Возвращает все данные принятые с удаленного хоста в виде строки. Если данных в очереди нет возвращается пустая строка без ожидания поступления данных. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

function Recvln: String;

Возвращает строку до символов #13 #10 из очереди чтения, если таких символов нет то возвращается пустая строка. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure Send(s: string);

Отсылает строку s удаленному хосту. Если соединение было по каким либо причинам разорвано выполнение скрипта завершается.

procedure SetEcho(EchoOn:integer);

Если EchoOn = 1 то включает эхо операций приема данных - при любые данные принимаемые будут автоматически отсылатся на хост, полезно для эмуляции различных серверов терминалов. Если EchoOn = 0 то эхо отключается.

function GetBroadcast:string;

Возвращает строку, установленную при последнем вызове SendBroadcast из любого скрипта в пределах этого терминала, работающего в серверном режиме, позволяет скриптам, работающим в различных потоках обмениваться данными.

function GetInputText(var s1,s2: string): integer;

В s1, s2 возвращается текст из нижних полей ввода терминала. Сама функция возвращает битовую маску в которой установлен бит 0 если включена галка CRLF и бит 1 если включена галка Log.

procedure Gotoxy(x,y,rlt: integer);

Если rlt=0 то устанавливает курсор в абсолютную позицию x,y. Если rlt=1 то переводит курсор на x,y позиций относительно текущей позиции.

procedure ClearLine;

Очищат линию от позиции курсора до конца строки не меняя позиции курсора.

procedure Clrscr;

Очищает экран, устанавливает курсор в левый верхний угол (0;0)

function Readln(question: string): string;

Выводит диалоговое окно с текстом question и полем ввода текста. Возвращает введенный текст.

procedure SendBroadcast(s:string);

Устанавливает строку s, которую затем сможет получить любой скрипт вызовом GetBroadcast. Рассылает всем скриптам кроме текущего событие #7.

procedure SetInputText(i:integer; s: string);

Устанавлиает в поле ввода указанный текст. Если i=0 То устанавливается текст в 1м поле, если i=1 то устанавливается текст во 2м поле.

procedure SetBackColor(i:integer);

Устанваливает общий цвет фона окна терминала.

procedure SetFontName(s: string);

Позволяет сменить шрифт используемый в терминале. По умолчанию используется Lucida Console.

procedure SetLineLength(i: integer);

Устанавливает количество символов в строке виртуального экрана терминала.

procedure SetOemCP(i: integer);

Если i=1 то включается OEM'овская кодировка (DOS'овская), иначе используется таблица ANSI.

procedure SetStatus(s: string);

Устанавливает текст в строке статуса внизу.

procedure TextFont(i: integer);

i представляет собой битовую маску. Учтите что не со всеми шрифтами это работает.

Бит 0 - устанавливается жирный шрифт

Бит 1 - устанавливается наклонный шрифт

Бит 2 - устанавливается подчеркивание

Бит 3 - устанавливается перечеркивание.

procedure TextBackground(i: integer);

Устанавливает текущий RGB цвет фона текста в i.

procedure TextColor(i: integer);

Устанавливает текущий RGB цвет текста в i.

function WhereX: integer;

Возвращает текущую позицию курсора по горизонтали

function WhereY: integer;

Возвращает текущую позицию курсора по вертикали

procedure Write(s: string);

Выводит текст в текущую позицию курсора

procedure Writeln(s: string);

Выводит текст в текущую позицию курсора. Дополнительно переводит позицию на начало новой строки.

function GetScriptMode:integer;

Возвращает число 2 для скрипта работающего в терминале.

procedure SetTimer(i:integer);

Включает таймер, который шлет скрипту через каждые i мсек событие №8. Если i=0 то таймер отключается.

procedure SyncScript(I: Longint);

Используйте эту функцию для синхронизации с другими скриптами. Если I=1 - скрипт входит в критическую секцию, если 0 -выходит. Все действия в критической секции должны занимать минимальное время

function WaitEvent(var v1,v2: integer): integer;

Основная функция цикла обработки событий. Ожидает событие, возвращает его код и 2 опциональных параметра.

Событие | Когда происходит, что делать | Параметр v1 | Параметр v2
0 Соединение было разорвано - -
1 С удаленного хоста чтото пришло. Новые данные можно получить вызовом Recv, Recvln, Recvch - -
4 | Юзер нажал или отпустил клавишу когда фокус ввода находится в окне текста. | Если установлен бит 7 то клавиша была отпущениа, иначе нажата | Виртуальный код клавиши
5 Юзер ввел символ когда фокус ввода находится в окне текста. - Код символа
6 Юзер нажал Enter в одном из полей ввода внизу. См GetInputText, SetInputText -

0 если ентер был нажат в первом поле

1 если ентер был нажат во втором поле
7 Какой то скрипт вызвал SendBroadcast. Можно получить эту строчку вызовом GetBroadcast - -
8 Событие таймера. См SetTimer - -

function NV_CNAME: string;

Возвращает имя своего компьютера.

function NV_REMOTEIP: string;

Возвращает IP адрес удаленного клиента.

function NV_PORT: integer;

Возвращает порт на который подключен клиент. (Поле Port)

function NV_ADDRESS: integer;

Возвращает IP адрес удаленного клиента в сетевом порядке байтов.


Плагины NetView

Скрипты NetView :: NetSearcher

Скрипты NetSearcher'а могут быть двух типов:
  • Управляющие скрипты -
    • представляют собой вызов общей функции WaitEvent, которая может ловить только события таймера и NMNP_ALERT с первым параметром равным NVALERT_NETSEARCHER. Но в отличии от общих скриптов, NVALERT_NETSEARCHER приходит таким скриптам в случае запуска, останова процесса поиска и завершения сохранения файллиста в файл. При запуске поиска приходит WaitEvent со вторым параметром равным 1, при останове второй параметр равен 0-для нормального или -1 для останова нажатием кнопки стоп, при завершении сохранения файллиста второй параметр равен 2.
    • Скрипт запускается в момент включения его в настройка поисковиках и работает до выключения (если сам не выйдет раньше)
    • Управляющие скрипты должны быть упомянуты в секции [ManagingScripts] файла \Scripts\Searcher\nvscripts.ini таким образом:
      [ManagingScripts]
      SampleSearchManager.nvs=1

  • Скрипты-обработчики
    • представляют собой циклический вызов функции WaitSearchEvent:

      function WaitSearchEvent(var fname: string; var
sz: integer;
var flg:integer;var findtime: TDateTime; var seentime: TDateTime): integer;

      Возвращаются

      fname - путь и имя найденного файла

      sz - его размер в единицах указанных в настройках. Если sz=-1 то значит это директория а не файл.

      flg - побитово сконфигурированный параметр. Установленный бит 0 означает что файл был первоначально найден в последнем сканировании, установленный бит 1 означает что файл помечен как новый согласно настройкам поисковика

      findtime - время когда файл был впервые найден в сети

      seentime - время когда файл в последний раз был доступен в сети в процессе поиска

      Сама функция возвращает:

      1 при нахождении файла

      0 при корректном завершении процесса поиска

      -1 при завершении процесса поиска нажатием кнопки Stop. При таком завершении в режиме обновления списка скрипт не будет информирован о ранее найденных файлах.

      Поиск не будет окончательно завершен (кнопка Stop не будет переименована в Start) пока скрипт не завершит своего выполнения что позволяет провести некоторые дополнительные действия после завершения поиска. Желательно чтобы обработка события нахождения файла занимала как можно меньше времени. При включенном режиме обновления списка функция вначале возвращает найденные в сети файлы, затем перед завершением поиска - все старые файлы которые были загружены из файла состояния в начале поиска и не были найдены в сети.

      Дополнительно скрипт может узнать имя пресета из которого он был запущен путем вызова функции

      function PresetName:string;

    • Скрипт запускается при начале поиска и завершается при его окончании

  • Оба типа скриптов могут получать/изменять текущие настройки NetSearcher'а путем доступа к полям объекта NVNetSearcher который у них имеется "с рождения":
    • type TNVSEARCHER=class (TOBJECT)
public
published
ActivePreset:string;
RecheckHosts:boolean;
ForceRandomAuth:boolean;
CycledSearching:boolean;
AutoSaveFilelist:boolean;
AutoSearchOn:boolean;
AutoSearchOnTimes:string;
TimeLimit:integer;
MaxDirDepth:integer;
ThreadsCount:integer;
NoFilelistMode:boolean;
ListUpdateMode:boolean;
LU_DeleteNotFound:boolean;
LU_ShowAsNew:boolean;
LU_ShowAsNewAge:integer;
LU_DeleteOld:boolean;
LU_DeleteOldAge:integer;
Filters_WhatToSearch:integer;
Filters_FSizeMin:integer;
Filters_FSizeMax:integer;
Filters_FSizeUnits:integer;
HostTable_AutoImportAll:boolean;
HostTable_AutoImportOnline:boolean;

FileList_SavePath:string;
FileList_SaveEncoding:integer;
FileList_SaveType:integer;
FileList_SaveTemplate_Main:string;
FileList_SaveTemplate_Host:string;
FileList_SaveTemplate_File:string;
FileList_SaveTemplate_NewFile:string;

procedure Start;
procedure Stop;
procedure Pause;
procedure Resume;
function GetStatus:integer; //result with bit 0 set if search in progress,
        bit 1 set if search paused

procedure EnumPresets(var lst:TStringList);
procedure SavePresetAs(s:string);
procedure Filters_EnumSearchMasks(var lst:TStringList);
procedure Filters_EnumOnlyShareIncs(var lst:TStringList);
procedure Filters_EnumOnlyPathIncs(var lst:TStringList);
procedure Filters_EnumSkipPathIncs(var lst:TStringList);

procedure Filters_SetSearchMasks(lst:TStringList);
procedure Filters_SetOnlyShareIncs(lst:TStringList);
procedure Filters_SetOnlyPathIncs(lst:TStringList);
procedure Filters_SetSkipPathIncs(lst:TStringList);

procedure HostTable_EnumHosts(var lst:TStringList);
procedure HostTable_EnumDisabledHosts(var lst:TStringList);
procedure HostTable_EnumDisabledHosts(var lst:TStringList);
procedure HostTable_EnumAutoImportHostlists(var lst:TStringList);
procedure HostTable_SetHosts(lst:TStringList);
procedure HostTable_SetDisabledHosts(lst:TStringList);
procedure HostTable_SetAutoImportHostlists(lst:TStringList);
procedure FileList_Clear;
procedure FileList_Save;
procedure Scripts_EnumManScripts(var lst:TStringList);
procedure Scripts_EnumDispScripts(var lst:TStringList);
procedure Scripts_EnumEnabledManScripts(var lst:TStringList);
procedure Scripts_EnumEnabledDispScripts(var lst:TStringList);
procedure Scripts_SetEnabledManScripts(lst:TStringList);
procedure Scripts_SetEnabledDispScripts(lst:TStringList);

end;


Плагины NetView

Скрипты NetView :: Netwatcher

Нетвочерный скрипт представляет циклический вызов WaitEvent (как и общий скрипт). В отличии от общих скриптов скрипт нетвочера получает не все NMPN_ALERT события а только те, что сгенерирует активный нетвочер.

Взаимодействие скрипта с нетвочером осуществляется посредством экземпляра интерфейсного объекта NVWATCHER, который создается вне скрипта при его вызове. Класс TNVWATCHER имеет следующие методы, доступные для использования скриптом:

function ServName:string;

Возвращает имя мониторящегося в данное время сервера.

function GetIdleLimit:integer;

Возвращает текущий лимит времени бездействия подключенного пользователя до автокика.

function GetConnCntLimit:integer;

Возвращает текущий лимит количества подключенных пользователей.

function GetRefreshPeriod:integer;

Возвращает период обновления нетвочера.

function GetKickAllEnabled:boolean;

Возвращает true если включен режим Kick all

function GetSharingEnabled:boolean;

Возвращает true если включен шаринг (имеет смысл только для NT систем)

procedure SetIdleLimit(i:integer);

Устанавливает текущий лимит времени бездействия подключенного пользователя до автокика.

procedure SetConnCntLimit(i:integer);

Устанавливает текущий лимит количества подключенных пользователей.

procedure SetRefreshPeriod(i:integer);

Устанавливает период обновления нетвочера.

procedure SetKickAllEnabled(en:boolean);

Включает/Выключает режим Kick all

procedure SetSharingEnabled(en:boolean);
Включает/Выключает шаринг (имеет смысл только для NT систем)

procedure ShareListEnum(EnumEnabled:boolean;lst:TStringList);

Возвращает список расшаренных на мониторящемся сервере ресурсов. Если EnumEnabled=false то возвращает временно выключенные ресурсы.

procedure SetShareEnabled(Share:string;en:boolean);

Включает/Временно выключает заданную шару на мониторящемся сервере

procedure ControlListPut(ListId:integer;host:string);

Добавляет хост в заданный список (ListId = 0-kick list, 1-keep list, 2-popup list, 3-skip list)

procedure ControlListDel(ListId:integer;host:string);

Удаляет хост из заданного списка (ListId = 0-kick list, 1-keep list, 2-popup list, 3-skip list)

procedure ControlListEnum(ListId:integer;lst:TStringList);

Возвращает список хостов заданного списка (ListId = 0-kick list, 1-keep list, 2-popup list, 3-skip list)

procedure KickHost(host:string);
Проводит немедленный кик заданного хоста, если он подключен (автокик по киклисту не срабатывает если хост был добавлен после подключения)


Плагины NetView

Скрипты NetView :: Дополнительные функции и типы данных

Ниже приведены специфические типы и функции которые могут использоваться во всех видах скриптов. Кроме этого можно пользоваться:

  • Стандартными типами и функциями делфи для работы со строками, например такими как функции Copy, Delete, ExtractFilePath, ExtractFileName, ExtractFileExt, MatchesMask, MatchesRegEx и тип TStringList.

  • Простейшие функции интерфейса с пользователем делфи - ShowMessage, InputBox, InputQuery, LoginDialog, RemoteLoginDialog, PromptForFileName

  • Так же можно использовать функции из внешних .dll библиотек. Для этого такую функцию надо объявится в начале программы примерно следующим образом:

    function FindWindow(C1, C2: PChar): Longint; external 'FindWindowA@user32.dll stdcall';

  • Классами Delphi для работы с базами данных через BDE (при наличии оного): TTable, TQuery, TDatabase, TSession (см скрипт NetSearcher'а Generate_DataBase.nvs для примера)

  • Работа с системным временем и датой
    • type TDateTime
    • type TSQLTimeStamp=record Year:SmallInt;
        Month:Word; Day:Word; Hour:Word; Minute:Word; Second:Word;
        Fractions:LongWord; end;
    • procedure CheckSqlTimeStamp(const ASQLTimeStamp:TSQLTimeStamp);
    • function DateTimeToSQLTimeStamp(AValue:TDateTime):TSQLTimeStamp;
    • function SQLTimeStampToDateTime(AValue:TSQLTimeStamp):TDateTime;
    • function CompareDateTime(const A,B:TDateTime): integer;
    • function DateOf(AValue:TDateTime):TDateTime;
    • function DateTimeToFileDate(AValue:TDateTime):integer;
    • function FileDateToDateTime(AValue:integer):TDateTime;
    • function DayOfTheMonth(AValue:TDateTime):WORD;
    • function DayOfTheWeek(AValue:TDateTime):WORD;
    • function DayOfTheYear(AValue:TDateTime):WORD;
    • function DayOfWeek(AValue:TDateTime):WORD;
    • function DaysInAMonth(const Year,Month:WORD):WORD;
    • function DaysInAYear(const Year:WORD):WORD;
    • function DaySpan(const ANow,AThen:TDateTime):double;
      •
    • function CurrentYear: integer;
    • function DaysBetween(const ANow,AThen:TDateTime): integer;
    • function HoursBetween(const ANow,AThen:TDateTime): integer;
    • function MinutesBetween(const ANow,AThen:TDateTime): Int64;
    • function SecondsBetween(const ANow,AThen:TDateTime): Int64;
    • function EncodeDateTime(Year, Month, Day, Hour, Min, Sec, MSec: Word): TDateTime;
    • procedure DecodeDateTime(const DateTime: TDateTime; var Year, Month, Day, Hour, Min, Sec, MSec: Word);
    • function EncodeDate(Year, Month, Day: Word): TDateTime;
    • function EncodeDate(Year, Month, Day: Word): TDateTime;
    • function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;
    • function TryEncodeDate(Year, Month, Day: Word; var Date: TDateTime): Boolean;
    • function TryEncodeTime(Hour, Min, Sec, MSec: Word; var Time: TDateTime): Boolean;
    • procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word);
    • procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word);
    • function DayOfWeek(const DateTime: TDateTime): Word;
    • function Date: TDateTime;
    • function Time: TDateTime;
    • function Now: TDateTime;
    • function DateTimeToUnix(D: TDateTime): Int64;
    • function UnixToDateTime(U: Int64): TDateTime;
    • function DateToStr(D: TDateTime): string;
    • function StrToDate(const s: string): TDateTime;
    • function FormatDateTime(const fmt: string; D: TDateTime): string;
      •

  • Работа с файлами, приложениями и настройками

    • type TSearchRec

    • function FindFirst(Path:string; var F: TSearchRec):integer;

    • function FindNext(var F: TSearchRec):integer;

    • procedure FindClose(F: TSearchRec);

    • function CopyFile(source:string;target:string;failifexists:boolean): integer;

    • function MoveFile(source:string;target:string): integer;

    • function CreateDirectory(s:string): integer;

    • function RemoveDirectory(s:string): integer;

    • function DeleteFile(s:string): integer;

    • function Exec(f:string;s:string;i:integer): Longint;

    • function ExecAsUser(f:string;IsDoc:boolean): Longint;

    • function GetFileSize(f:Longint;var sizeh:Longint): Longint;

    • function CloseFile(f:Longint): Longint;

    • function OpenFile(s:string; mode:Longint): Longint;

    • function ReadFile(f:Longint;n:Longint;var s:String): Longint;

    • function SetFilePointer(f:Longint;pl:Longint;ph:Longint;mode:Longint): Longint;

    • function WriteFile(f:Longint;s:String): Longint;

    • procedure WriteIni(section:string;varname:string;vardata:string);

    • function ReadIni(section:string;varname:string;defaultdata:string):string;

  • Управление NetView

    • function Action(wparam:integer;lparam:integer):integer;

    • procedure SaveHostlist(fname:string);

    • procedure LoadHostlist(fname:string);

    • function GetShareList(host:string):string;

    • function NetSend(From,Rcpt,Msg:string;WaitPending,WaitComplete,ShowUI:boolean):integer;

  • Объекты интерфейса с NetView

    • TNVHOST

    • TNVMENUITEM

    • TNVLIST

    • TNVLINE

Работа с файлами и приложениями

Type TSearchRec=record

Time:TDateTime;

Size:integer;

SizeHigh:integer;

Attr:integer;

Name:string;

FindHandle:integer;

end;

function FindFirst(Path:string; var F: TSearchRec):integer;

Начинает поиск файлов\каталогов в заданном пути по заданной маске.

Path - Путь\маска имени. Например 'C:\WinNT\*.exe'. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

F - структура в которой хранится информация о найденном файле и состояние процесса поиска

Возвращает 0 если не произошло ошибки иначе возвращает код ошибки

function FindNext(var F: TSearchRec):integer;

Продолжает начатый по FindFirst поиск. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки.

procedure FindClose(F: TSearchRec);

Закрывает структуру F для освобождения занятых ресурсов.

function CopyFile(source:string;target:string;failifexists:boolean): integer;

Копирует файл из source в target. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

function MoveFile(source:string;target:string): integer;

Перемещает файл из source в target. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

function CreateDirectory(s:string): integer;

Создает директорию с путем s. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

function RemoveDirectory(s:string): integer;

Удаляет директорию с путем s. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

function DeleteFile(s:string): integer;

Удаляет файл с путем\именем s. Возвращает 0 если не произошло ошибки иначе возвращает код ошибки. Если путь начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts.

function Exec(f:string;s:string;i:integer): Longint;

Запускает приложение\документ
f: путь\имя приложения или документа для запуска
s: строка параметров, для документов обязательно пустая
Флаги в i:

Код Windows | Значение | Что означает
SW_HIDE | 0 | запустить спрятанным
SW_SHOWNORMAL | 1 | запустить нормально
SW_SHOWMINIMIZED | 2 | запустить минимизированным
SW_SHOWMAXIMIZED | 3 | запустить максимизированным
SW_SHOWNOACTIVATE | 4 | не активировать
SW_SHOW | 5 | запустить показав окно
SW_MINIMIZE | 6 | запустить минимизированным
SW_SHOWMINNOACTIVE | 7 | запустить минимизированным не активируя
SW_SHOWNA | 8 | запустить не активным
SW_RESTORE | 9 | запустить не развернутым и не свернутым
SW_SHOWDEFAULT | 10 | запустить так как был запущен NetView
Битовый флаг | 128 | ожидать пока приложение завершит выполнение, вернуть код завершения

function ExecAsUser(f:string;IsDoc:boolean): Longint;

Запускает приложение/документ от имени текущего залогиненного в систему пользователя, или просто определяет статус залогиненного пользователя. Нужно для запуска приложений когда NetView работает как сервис - в этом случае простой Exec запустит приложение от имени системы. Но в отличии от простого Exec не позволяет использовать расширенные возможности запуска.

f: путь/имя файла или документа или пустая строка для простого определения статуса залогиненного пользователя

IsDoc: true если это документ (в этом случае происходит запуск через ShellExecute), false - если исполняемый файл (запуска через WinExec). Дополнительные параметры командной строки можно задавать прямо в f если IsDoc=false

Возвращает 0 если в системе нет интерактивно залогиненных пользователей, 1 - если интерактивный пользователь - обычный, 2 - если интерактивный пользователь - администратор (или любой кто может писать в файл NetView.ini). -1 -в случае ошибки запуска программы.

function GetFileSize(f:Longint;var sizeh:Longint): Longint;

Возвращает размер файла. В sizeh записывается старшие 32 бита размера

function CloseFile(f:Longint): Longint;

закрывает файл

function OpenFile(s:string; mode:Longint): Longint;

открывает файл в каталоге SCRIPTS. Если путь S начинается не на имя диска и не на \\ то он за начало пути считается каталог \NetView\Scripts. Возвращает идентификатор файла или 0
Флаги могут принимать комбинацию следующих значений:
1: открытие файла для чтения
2: открытие файла для записи
4: файл будет создан если не существует
8: файл будет перезаписан

function ReadFile(f:Longint;n:Longint;var s:String): Longint;

Читает строку длиной n из файла. Возвращает количество прочитанных симолов

function SetFilePointer(f:Longint;pl:Longint;ph:Longint;mode:Longint): Longint;

Устанавливает указатель файла. pl, ph - нижний и старший 32bits смещения. mode:
0 :с начала файла
1 :с текущей позиции
2 :от конца файла

function WriteFile(f:Longint;s:String): Longint;

Пишет в файл строку. Возвращает количество записанных символов

procedure WriteIni(section:string;varname:string;vardata:string);

Записывает произвольную строку в ini файл настроек NetView. Затем эту настройку можно прочитать с помощью ReadIni

section -имя секции куда записать строку

varname -название ключа

vardata -строка-значение ключа

function ReadIni(section:string;varname:string;defaultdata:string):string;

Читает строковое значение ключа ini файла настроек NetView.

section -имя секции где находится строка

varname -название ключа

defaultdata -строка-значение ключа по умолчанию (если ключ отсутствует в ini файле)

Возвращает значение ключа или defaultdata если ключа нету

Управление NetView

function Action(wparam:integer;lparam:integer):integer;

  • Многофункциональная процедура. Коды действий в wparam:
    • NVACTION_RECHECK - перепроверить хост или хосты из списка. Если (wparam and NVACTION_LIST)<>0 то перепроверять список. В lparam -идентификатор списка или 0.(wparam and NVACTION_LIST) - то перепроверять хост. Функция возвращается сразу, не ожидая окончания проверки.
    • NVACTION_RETRACE -перетрассирует хост или список аналогично NVACTION_RECHECK
    • NVACTION_OPEN - открывает хост с идентификатором в lparam
    • NVACTION_EDIT - открывает окно редактирования хоста с идентификатором в lparam. Возвращает 0 если редактирование отменено.
    • NVACTION_IMGEXPORT - инициирует экспорт визуальной карты с идентификатором списка в lparam
    • NVACTION_SETSTATE - выполняет обновление состояния хоста в списке согласно всем метапеременным. Быстрее чем метод SETHOST класса TNVHOST т.к. не инициирует процедуру перепроверки и не перезаписывает внутренние структуры. В lparam надо засунуть идентификатор хоста.

procedure SaveHostlist(fname:string);

  • Сохраняет текущий хостлист в файл
    • fname -путь\имя файла куда сохранить хостлист

procedure LoadHostlist(fname:string);

  • Загружает данные из файла в хостлист
    • fname -путь\имя файла для загрузки

function GetShareList(host:string):string;

  • Получает список расшаренных по NETBIOS ресурсов с хоста
    • host -имя или адрес хоста
    • Возвращает строку - список ресурсов разделенных символом chr(13). В случае ошибки возвращает строку из одного символа chr(1)

function NetSend(From,Rcpt,Msg:string;WaitPending,WaitComplete,ShowUI:boolean):integer;

  • Шлет net send сообщение при помощи NetView NetMessenger
    • From - имя от которого будет послано сообщение. Если это пустая строка сообщение будет послано от того имени которое написано в NetMessenger'е
    • Rcpt - кому слать сообщение
    • Msg - текст сообщения
    • WaitPending - если в данный момент происходит посылка другого сообщения то при true функция подождет завершения его посылки. Если WaitPending = false то если в данный момент происходит отправка другого сообщения функция сразу же вернется с кодом возврата -1
    • WaitComplete - ожидать завершения отправки вашего сообщения или нет. Если true то функция вернет 0 в случае успешной отправки или код ошибки. Если false то функция всегда будет возвращать 0, за исключением случаев описанных для WaitPending = false
    • ShowUI - если true то функция просто настроит все текстовые поля NetMessenger'а но не инициирует отправку сообщения, а покажет окно NetMessenger'а и сразу же вернется с кодов возврата 0, при этом флаг WaitComplete игнорируется.
    • Возвращает -1 или код ошибки в случае неудачи и 0 в случае успешной инициации отправки

Объекты интерфейса с NetView

type TNVHOST=class
(TOBJECT)
private
ID,NEXTID:integer;
COLOR:integer;
hname,hip:string;
public
procedure GETBYTEXT(txt:string;flags:integer);
procedure GETHOST(xid:integer;flags:integer);
procedure SETHOST;
procedure DELHOST;
function GETMETAVAR(varname:string):string;
procedure SETMETAVAR(varname:string;vardata:string);

procedure TRYAUTH(UseRandom:boolean);
published
constructor CREATE;

desructor FREE;
end;

  • ID -идентификатор хоста. Вручную менять не надо.
  • NEXTID - идентификатор следующего в списке хоста. Используется дл прохождения всего списка
  • COLOR -цвет хоста в списке. Менять можно, но бестолку. Нетвью сам им управляет
  • hname - имя хоста
  • hip -IP адрес хоста
  • GETBYTEXT(txt:string;flags:integer);
    • txt -имя или IP адрес по которому надо получить ID и прочую инфу.
    • flags:
      • 0 -ищет хост в списке, если не находит устанавливает ID в 0 и возвращается
      • NVOBJ_FORCENEW -ищет хост в списке, если не находит пытается определить его имя или txt - IP или наоборот. Если не получается - устанавливает ID в 0 и возвращается.
      • NVOBJ_FORCENEW or NVOBJ_HOSTNOIP - ищет хост в списке если не находит - добавляет считая что txt - это имя, а IP оставляет пустым
  • GETHOST(xid:integer;flags:integer);
    • Получает данные хоста с идентификатором xid. Если xid=0 то работает в зависимости от flags:
      • 0 - получает первый хост в списке.
      • NVOBJ_SELECTED - получает первый выделенный хост в списке
  • SETHOST - Вносит все изменения в хост. Пока не вызвать SETHOST при изменении полей TNVHOST объекта реально хост не меняется.
  • DELHOST - удалить хост из списка
  • GETMETAVAR(varname:string):string;
    • Возвращает значение метапеременной с именем varname
  • SETMETAVAR(varname:string;vardata:string)
    • Присваивает метапеременной с именем varname значение vardata.
  • TRYAUTH(UseRandom:boolean)
    • Пытается авторизоваться на хосте с использованием переменных user и pass. Если обе переменных пусты и UseRandom=true то НВ пытается авторизоваться под случайным именем.
  • Список основных метапеременных можно найти здесь

type
  TNVMENUITEM=class (TOBJECT)
private
public
ID,PARENTID:integer;
FLAGS:integer;
MSG:integer;
TXT:string;
procedure REFRESH;
procedure DELETE;

procedure SPLIT;
published
constructor create;

destructor free;
end;

  • ID -идентификатор менюшки.
  • PARENTID -идентификатор родительской менюшки (для иерархических меню)
  • FLAGS - флаги
    • NVMENUFLAG_MAIN - менюшка будет создана в подменю Plug-ins
    • NVMENUFLAG_CONTEXT - менюшка будет создана в контекстном меню хоста
    • NVMENUFLAG_TRAY - менюшка будет в контекстном треевском меню нетвью
    • NVMENUFLAG_DISABLED - менюшка будет недоступная
    • NVMENUFLAG_CHECKED - слева менюшка будет чекбокс означающий что она включена
    • NVMENUFLAG_SORTED - менюшка может быть отстортирована при вызове метода SORT родительской менюшки (только для дочерних менюшек - parentid<>0)
  • MSG -код сообщения которое будет приходить плагину при клике на менюшку. Использовать значения от $850 до $A00
  • TXT -текст менюшки
  • REFRESH -добавляет или обновляет менюшку. Для созданию меню необходимо вручную установить все ее поля, ID установить в 0 и вызвать REFRESH. Затем не меняя ID можно менять менюшку путем вызова REFRESH
  • DELETE -удаляет менюшку из списка менюшек и устанавливает ее ID в 0
  • SPLIT -разбивает все дочерние подменюшки данной менюшки так чтобы они поместились на экране. Актуально когда их много (больше 20 штук

type TNVLIST=class (TOBJECT)
private
ID,NEXTID:integer;
lname,ltheme:string;
public
procedure GETBYTEXT(txt:string;flags:integer);
procedure GETLIST(xid:integer;flags:integer);
procedure SETLIST;
procedure DELLIST;
published
constructor CREATE;
end;

type TNVLINE=class (TOBJECT)
private
INDEX,COUNT:integer;
nodes,color,flags,width:integer;
ltype,llength,lspeed,lnote,lmap:string;
x,y:array[1..32]of integer;
public
procedure GETLINE(xindex:integer);
procedure SETLINE;
procedure DELLINE;
published
constructor CREATE;
end;

С последними двумя разберетесь по аналогии с TNVHOST ;). Советую глянуть хелп по плагинам NetView для ознакомления с тем откуда это все взялось и как работает.


Плагины NetView

NetView имеет возможность поддержки плагинов - дополнительных модулей, расширяющих его возможности. Например можно создать подробную базу данных по сети и ее пользователям, научить нетвью следить за сетью через SNMP, проводить мониторинг траффика работы пользователей и еще много чего чтобы затем объединить все это в интерфейсе одной программы. Вы можете свободно писать плагины для нетвью, ссылки на freeware плагины я с удовольствием размещу у себя на сайте. Так же NetView предоставляет API другим программам для доступа к данным хостлиста. Делается это посредством функций из NVAPI.DLL. Для написания плагинов и программ в каталоге установленного netview лежит заголовочный файл nvplugn.h в котором описаны все сообщения и структуры, используемые для работы с плагинами. Так же имеется описание на русском некоторых структур (но не всех - все имеются в nvplugn.h файле) и приемов:

Работа с NetView из внешних программ

Общие принципы создания плагинов и их взаимодействие с NetView

Взаимодействие с хостлистом

Создание элементов меню плагина в интерфейсе NetView

Уведомляющие NMNP_ALERT, NMPN_ACTION и NMNP_ACTION сообщения


Плагины NetView

Плагины NetView :: Работа с NetView из внешних программ

Любые программы могут получать данные из NetView или даже вносить изменения в хостлист или управлять работой NetView посредством функций экспортируемых nvapi.dll. Ниже можно найти список функций и их параметры. Функции которые изменяют данные хостлиста могут не работать(отмечены + слева) или иметь ограниченную функциональность (+) если текущий процесс работает в непривилегированном режиме. Эта фича включается в общих настройках NetView на закладке Service. Остальные функции доступны всегда когда запущен NV (+). И еще - функции доступа к линиям, областям и картам возможно в будущем будут переделаны чтобы работа с этими объектами была примерно такой же как работа с хостами. Хотя скорее всего эти функции останутся для обратной совместимости но появятся новые, более универсальные.

DWORD __stdcall NVGetNetViewStatus(void *Reserved);

DWORD __stdcall NVAction(void *Reserved, DWORD wp, DWORD lp);

DWORD __stdcall NVSetEventHandlerProc(void *HandlerProc);

DWORD __stdcall NVGetHostByTextA(void *Reserved, char* Txt,DWORD Flags);

DWORD __stdcall NVGetHostA(void *Reserved, NVHOST* Hst,DWORD Flags);

DWORD __stdcall NVSetHostA(void *Reserved, NVHOST* Hst,DWORD Flags);

DWORD __stdcall NVDelHostA(void *Reserved, NVHOST* Hst);

DWORD __stdcall NVGetMetaVarA(void *Reserved, DWORD HostID, char *VarName, char *DataBuff, DWORD *BuffSize);

DWORD __stdcall NVSetMetaVarA(void *Reserved, DWORD HostID, char *VarName, char *DataBuff, DWORD BuffSize);

DWORD __stdcall NVGetListByTextA(void *Reserved, char *Txt,DWORD Flags);

DWORD __stdcall NVGetListA(void *Reserved, NVLIST* Lst);

DWORD __stdcall NVSetListA(void *Reserved, NVLIST* Lst);

DWORD __stdcall NVDelListA(void *Reserved, NVLIST* Lst);

DWORD __stdcall NVGetLineA(void *Reserved, NVLINE *Ln);
DWORD __stdcall NVSetLineA(void *Reserved, NVLINE *Ln);
DWORD __stdcall NVDelLineA(NVLINE *Ln);
DWORD __stdcall NVGetAreaA(void *Reserved, NVAREA *Ar);
DWORD __stdcall NVSetAreaA(void *Reserved, NVAREA
*Ar);
DWORD __stdcall NVDelAreaA(void *Reserved, NVAREA *Ar);

+DWORD __stdcall NVGetNetViewStatus(void *Reserved);

Возвращает значение типа DWORD старшая половина HIGHWORD(ret) которого - версия работающего NetView (старший\младший байт - старшая\ младшая часть версии), младшая LOWORD(ret):

  • 0 - если NetView не запущен или процесс не может получить к нему доступ
  • 1 - если процесс может получить только читать данные из NetView но не изменять
  • 2 - если процесс имеет полный доступ к NetView
  • Reserved - зарезервировано на будущее, должно быть установлено в NULL

Наверх

+DWORD __stdcall NVAction(void *Reserved, DWORD wp, DWORD lp);

Многофункциональная процедура. Коды действий в wparam:
  • NVACTION_RECHECK - перепроверить хост или хосты из списка. Если (wp and NVACTION_LIST)<>0 то перепроверять список. В lp -идентификатор списка или 0.(wp and NVACTION_LIST) - то перепроверять хост. Функция возвращается сразу, не ожидая окончания проверки.
  • NVACTION_RETRACE -перетрассирует хост или список аналогично NVACTION_RECHECK
  • NVACTION_OPEN - открывает хост с идентификатором в lp
  • NVACTION_EDIT - открывает окно редактирования хоста с идентификатором в lp. Возвращает 0 если редактирование отменено.
  • NVACTION_IMGEXPORT - инициирует экспорт визуальной карты с идентификатором списка в lp
  • NVACTION_SETSTATE - выполняет обновление состояния хоста в списке согласно всем метапеременным. Быстрее чем метод SETHOST класса TNVHOST т.к. не инициирует процедуру перепроверки и не перезаписывает внутренние структуры. В lp надо засунуть идентификатор хоста.
  • Reserved - зарезервировано на будущее, должно быть установлено в NULL

Наверх

+DWORD __stdcall NVSetEventHandlerProc(void *HandlerProc);

Устанавивает функцию-обработчик уведомлений о событиях NetView. Каждый процесс может иметь только один такой обработчик. Если HandlerProc=NULL то обработчик выключается. Обработчик должен быть объявлен следующим образом:

  • LRESULT CALLBACK HandlerProc(DWORD msg, DWORD wp, DWORD lp, DWORD tm); и должен возвращать 1.
    • msg = NMNP_ALERT
      • NVALERT_NETWATCHER - событие в NetWatcher'е. Если (wp && NVALERTMASK_CANCEL)==0 значит ктото подключился, иначе - отключился. в lp присутствует идентификатор подключившегося хоста или 0. Так же можно проверить наличие следующих флагов: если (wp && NVALERTMASK_NWBLACK)!=0 значит юзер из черного списка, если (wp && NVALERTMASK_NWWHITE)!=0 значит юзер из белого списка
      • NVALERT_ALARMHOST - для хоста, идентификатор которого находится в lparam произошло оповещение. Если (wp && NVALERTMASK_HOSTUP)!=0 значит хост включился, если (wp && NVALERTMASK_HOSTDOWN)!=0 - выключился, Если (wp && NVALERTMASK_CANCEL)!=0 - юзер кликнул мышкой по хосту для которого перед этим произошло оповещение
      • NVALERT_TERMINAL -произошло подключение\отключение в Terminal. lparam -идентификатор подключившегося хоста или 0.Если (wp && NVALERTMASK_CANCEL)!=0 значит хост подключился, иначе - отключился.
      • NVALERT_REDIRECTOR -произошло подключение\отключение в Port mapper. lparam -идентификатор подключившегося хоста или 0.Если (wp && NVALERTMASK_CANCEL)==0 значит хост подключился, иначе - отключился.
      • NVALERT_IPLOGGER -IP logger чтото засек. Проверяем с помощью && наличие следующих флагов:
        • NVALERTMASK_ILLIST - ктото подключился в прослушиваемому порту
        • NVALERTMASK_ILICMP - наc флудят по ICMP
        • NVALERTMASK_ILSYN - наc флудят TCP SYN пакетами
        • NVALERTMASK_ILUDP - наc флудят UDP пакетами (ненадежно)
    • msg = NMNP_ACTION
      • NVACTION_LIST. lp может содержать идентификатор списка или 0. wp может комбинироватся c:
        • NVACTION_GETFROMNET - произошел опрос сети на наличие новых компов
        • NVACTION_GETFROMFILE - произошла загрузка хостлиста из файла
        • NVACTION_RECHECK - произошла перепроверка списка
        • NVACTION_RETRACE - произошла перетрассировка хостов списка
      • NVACTION_ACTIVATE -приложение нетвью стало активным или наоборот ушло в фон. lp равно wParam сообщения WM_ACTIVATE которое получило окно NetView
      • NVACTION_MENUPOPUP -сообщение о том что нарисовалась меню, lp:
        • NVMENUFLAG_MAIN - появилось меню Plug-ins
        • NVMENUFLAG_CONTEXT -всплыло контекстное меню хостлиста
        • NVMENUFLAG_TRAY -всплыло контекстное меню иконки в области трея
      • NVACTION_IMGEXPORT - произошел экспорт визуальной карты с идентификатором lp.
    • tm - время когда произошло событие
  • Reserved - зарезервировано на будущее, должно быть установлено в NULL

Наверх

+DWORD __stdcall NVGetHostByTextA(void *Reserved, char* Txt,DWORD Flags);

Возвращает идентификатор хоста по его имени или IP адресу. Может так же создать новый хост если в хостлист нету подходящего

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • Txt - имя или IP адрес
  • Flags - могут содержать
    • +NVOBJ_FORCENEW - для создания нового хоста
    • +NVOBJ_HOSTNOIP - по умолчанию при указании NVOBJ_FORCENEW нетвью будет пытатся определить днс имя\ип нового хоста по заданному тексту. Если указать этот флаг - то текст будет именем нового хоста а ип определятся не будет - будет создан хост без IP адреса.

Наверх

+DWORD __stdcall NVGetHostA(void *Reserved, NVHOST* Hst,DWORD Flags);

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

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • Hst указывает на структуру NVHOST в которой проинициализировано поле Id в идентификатор нужного хоста или в 0 если нужно найти самый первый хост списка. Функция инициализирует остальные поля структуры, в том числе nextid что позволяет перечислять все хосты списка.
  • Flags может быть 0 или NVOBJ_SELECTED. Если указан NVOBJ_SELECTED то перечисляются только визуально выделенные в хостлисте хосты.

Наверх

+DWORD __stdcall NVSetHostA(void *Reserved, NVHOST* Hst,DWORD Flags);

Позволяет добавить новый хост в хостлист или изменить сведения об указанном хосте. Возвращает идентификатор хоста.

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • Hst указывает на структуру NVHOST в которой проинициализировано поле Id в идентификатор нужного хоста или в 0 если нужно добавить новый хост. Так же необходимо проинициализировать остальные поля за исключением nextid. NetView в процессе добавляеня хоста сопоставит имя и адрес нового хоста с уже существующими и может вернуть идентификатор уже существующего хоста даже если перед вызовом Id=0
  • Flags - зарезервировано. Установите в 0.

Наверх

+DWORD __stdcall NVDelHostA(void *Reserved, NVHOST* Hst);

Удаляет хост из хостлиста.

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • Hst указывает на структуру NVHOST в которой проинициализировано поле Id в идентификатор нужного хоста

Наверх

+DWORD __stdcall NVGetMetaVarA(void *Reserved, DWORD HostID, char *VarName, char *DataBuff, DWORD *BuffSize);

Получает нужную метапеременную хоста по его имени или идентификатору. Если хост не найден возвращает 0, если в MetaVar недостаточен размер буфера возвращает 2, если все прошло хорошо возвращает 1.

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • HostID - идентификатор существующего хоста, значение одной из переменных которого надо получить
  • VarName - имя метапеременной значение которой нужно получить. Максимум 127 символов длиной. Чувствителен к регистру. Завершается нулевым символом как и обычная NULL TERMINATED строка.
  • DataBuff - указывает на массив куда будут записаны данные метапеременной. Данные не будут NULL TERMINATED - нулевой символ не рассматривается как конец данных. Если в метапеременной строка то вы должны обнулить буфер перед вызовом функции или записать в конец данных 0 после ее возврата чтобы строка гарантированна была NULL TERMINATED.
  • BuffSize - указывает на переменную DWORD которая перед вызовом должна быть равна размеру памяти, отведенной под буфер, по возвращении эта переменная равна количеству байт данных метапеременной. Даже если метапеременная не была полностью записана в буфер (не хватило места и функция вернула значение 2) эта переменная указывает необходимое количество байт которое нужно для полного возврата переменной

Наверх

+DWORD __stdcall NVSetMetaVarA(void *Reserved, DWORD HostID, char *VarName, char *DataBuff, DWORD BuffSize);

Изменяет заданную метапеременную хоста по его имени или идентификатору. Если хост не найден или нет прав возвращает 0, если все OK то возвращается 1.

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • HostID - идентификатор существующего хоста, значение одной из переменных которого надо получить
  • VarName - имя метапеременной значение которой нужно изменить. Максимум 127 символов длиной. Чувствителен к регистру. Завершается нулевым символом как и обычная NULL TERMINATED строка.
  • DataBuff - указывает на массив с данными метапеременной. Данные не будут NULL TERMINATED - нулевой символ не рассматривается как конец данных.
  • BuffSize - размер данных в байтах.

Наверх

+DWORD __stdcall NVGetListByTextA(void *Reserved, char *Txt,DWORD Flags);

Возвращает идентификатор существующего подсписка, может также создать новый подсписок. Возвращает идентификатор подсписка в случае успеха или 0 в случае облома.

  • Reserved - зарезервировано на будущее, должно быть установлено в NULL
  • Txt - название списка
  • Flags может быть 0 или +NVOBJ_FORCENEW если нужно создать новый список если таковой еще не существует.

Наверх

+DWORD __stdcall NVGetListA(void *Reserved, NVLIST* Lst);

Получает данные о списке по его идентификатору который указан в стркутуре Lst. Аналогично NVGetHostA позволяет перечислять все списки. Возвращает идентификатор списка в случае успеха или 0 в случае облома.

Наверх

+DWORD __stdcall NVSetListA(void *Reserved, NVLIST* Lst);

Изменяет данные о подсписке. Возвращает идентификатор списка в случае успеха или 0 в случае облома.

Наверх

+DWORD __stdcall NVDelListA(void *Reserved, NVLIST* Lst);

Удаляет подсписок по его идентификатору у Lst. Возвращает 1 в случае успеха или 0 в случае облома.

Наверх

+DWORD __stdcall NVGetLineA(void *Reserved, NVLINE *Ln);

Получает сведения о линии по ее индексу указанному в Ln. Если индекс указать -1 то в структуру Ln ничего не будет возвращено. Сама функция всегда возвращает общее количество линий.

Наверх

+DWORD __stdcall NVSetLineA(void *Reserved, NVLINE *Ln);

Устанавливает сведения о линии по ее индексу указанному в Ln. Если индекс указать -1 то будет добавлена новая линия. Сама функция возвращает общее количество линий после этой операции или 0 в случае облома (кстати если в списке линий нет то тоже будет возвращен 0).

Наверх

+DWORD __stdcall NVDelLineA(void *Reserved, NVLINE *Ln);

Удаляет линию из списка. Сама функция возвращает общее количество линий после этой операции или 0 в случае облома (кстати если в списке линий нет то тоже будет возвращен 0).

Наверх

+DWORD __stdcall NVGetAreaA(void *Reserved, NVAREA *Ar);

Получает данные об области по ее идентификатору который указан в стркутуре Ar. Аналогично NVGetHostA позволяет перечислять все области. Возвращает идентификатор области в случае успеха или 0 в случае облома.

Наверх

+DWORD __stdcall NVSetAreaA(void *Reserved, NVAREA *Ar);

Устанавливает все данные об указанной области. Учтито что на одном списке не могут существовать 2 области с одинаковым name. Возвращает идентификатор в случае успеха, 0 в случае общей ошибки, -1 в случае наличия области с таким же названием на списке

Наверх

+DWORD __stdcall NVDelAreaA(void *Reserved, NVAREA *Ar);

Удаляет область. Возвращает 1 в случае успеха или 0 в случае ошибки.

Наверх


Плагины NetView

Плагины NetView :: Пример работы с NetView из внешней программы

/*

Данная программа скомпилированная в MS VC6.0 как консольное Win32 приложение получает от работающего НВ и выводит список хостов, их состояние, записывает и выводит затем значение тестовой метапеременной, после чего стирает ее, затем переходит в режим ожидания событий НВ выводя их коды, параметры и время. При этом используются функции NVGetHostA, NVGetMetaVarA, NVSetMetaVarA, NVSetEventHandlerProc, NVGetNetViewStatus.

(с)Killer{R}, 2004

*/

// nvcall.cpp : Defines the entry point for the console application.
//
#pragma pack(1)
#include "stdafx.h"
#include "windows.h"
#include "nvplugn.h"
#include "malloc.h"
typedef DWORD (WINAPI *NVGetHostx)(void *Reserved, NVHOST *nvh,DWORD flags);
typedef DWORD (WINAPI *NVGetMetaVarx)(void *Reserved, DWORD HostID,char *VarName, char *DataBuff,DWORD *BuffSize);
typedef DWORD (WINAPI *NVSetMetaVarx)(void *Reserved, DWORD HostID,char *VarName, char *DataBuff,DWORD BuffSize);
typedef DWORD (WINAPI *NVGetNetViewStatusx)(void *Reserved);
typedef DWORD (WINAPI *NVSetEventHandlerProcx)(void *proc);

NVGetHostx NVGetHost;
NVGetMetaVarx NVGetMetaVar;
NVSetMetaVarx NVSetMetaVar;
NVGetNetViewStatusx NVGetNetViewStatus;

NVSetEventHandlerProcx NVSetEventHandlerProc;
int stopped=0;

LRESULT CALLBACK eventproc(DWORD msg, DWORD wp, DWORD lp, DWORD tm)
{
printf("Event=%u WP=%u LP=%u TIME=%u\n",msg,wp,lp,tm);
if(msg==WM_QUIT)
{
printf("NetView stopped\n");
stopped=1;
}
return 1;
}

int main(int argc, char* argv[])
{
HINSTANCE lib=LoadLibrary("nvapi.dll");
if(!lib){printf("Can't load NVAPI.DLL\n");return -1;};
NVGetHost=(NVGetHostx)GetProcAddress(lib,"NVGetHostA");
NVGetMetaVar=(NVGetMetaVarx)GetProcAddress(lib,"NVGetMetaVarA");
NVSetMetaVar=(NVSetMetaVarx)GetProcAddress(lib,"NVSetMetaVarA");
NVGetNetViewStatus=(NVGetNetViewStatusx)GetProcAddress(lib,"NVGetNetViewStatus");
NVSetEventHandlerProc=(NVSetEventHandlerProcx)GetProcAddress(lib,"NVSetEventHandlerProc");
NVSetEventHandlerProc(&eventproc);

DWORD ret=NVGetNetViewStatus(0);
DWORD ver=HIWORD(ret);
DWORD verh=(ver>>8)&0xff;
DWORD verl=(ver)&0xff;
bool IsFullAccess=false;
switch(LOWORD(ret))
{
case 0:printf("NetView is not accessible\n");return -1;break;
case 1:printf("NetView v%u.%u in read-only mode\n",verh,verl);break;
case 2:printf("NetView v%u.%u in full access mode\n",verh,verl);IsFullAccess=true;break;
}

NVHOST hst; ZeroMemory(&hst,sizeof(hst));
do
{
hst.id=hst.nextid;hst.nextid=0;
NVGetHost(0,&hst,0);
if(hst.id)
{
char buff[1024];sprintf(buff+1,"%s\x09%s",hst.hostname,hst.hostip);
char varbuf[256];
ZeroMemory(varbuf,256);DWORD bufsz=255;
NVGetMetaVar(0,hst.id,"ison",varbuf,&bufsz);
buff[0]='?';
if(!strcmp(varbuf,"off"))buff[0]='-';
if(!strcmp(varbuf,"on"))buff[0]='+';
ZeroMemory(varbuf,256);bufsz=255;
NVGetMetaVar(0,hst.id,"ctime",varbuf,&bufsz);
strcat(buff,"\x09");strcat(buff,varbuf);
if(IsFullAccess)
{
NVSetMetaVar(0,hst.id,"mytestvar","TeSt",4);
ZeroMemory(varbuf,256);bufsz=255;
NVGetMetaVar(0,hst.id,"mytestvar",varbuf,&bufsz);
strcat(buff,"\x09");strcat(buff,varbuf);
NVSetMetaVar(0,hst.id,"mytestvar",0,0);
}
strcat(buff,"\n");
printf(buff);
}
}while(hst.nextid);
printf("Enumeration completed. Waiting for NetView events. Press Ctrl+C for exit.\n");
while(!stopped)Sleep(300);

return 0;
}

Наверх


Плагины NetView

Общие принципы создания плагинов и их взаимодействие с NetView

Плагины для нетвью могут быть двух типов:

Любые процессы в системе могут взаимодействовать с нетвью версии 2.80 и выше посредством функций экспортируемый nvapi.dll которая копируется в системный каталог SYSTEM или SYSTEM32 во время установки NetView. Почитать про эти функции можно здесь.

Динамически присоединяемые библиотеки .dll загружаемые NetView и экспортирующие три функции. Обязательные из них только две:

NVPluginGetInfo - вызывается при запуске NetView. Имеет единственный параметр - указатель на структуру NVPLUGININFO. При вызове функции нетвью сам выделяет память для этой структуры, так же устанавливает поле nvver равное своей версии. На основании этого плагин может вернуть из функции значение 0 и он не появится в списке досупных плагинов (например если установленная версия нетвью не поддерживает некоторые необходимые функции), либо - 1 тогда плагин будет доступен для загрузки. Плагин так же должен установить в поле retver свою версию и скопировать в plname и retstr строки размером в 63 и 127 символов максимум, первоя строка - имя плагина а вторая - краткое описание. Остальные поля при вызове этой функции не инициализированы и не должны использоваться. Примерный код этой функции:

DWORD WINAPI NVPluginGetInfo(LPNVPLUGININFO nvpi)
{
nvpi->retver.hi=1;nvpi->retver.lo=0;//Версия нашего плагина - 1.0
strcpy(nvpi->plname,"Cool plugin");//Название плагина. 63 символа максимум
strcpy(nvpi->retstr,"Sample NetView plug-in by Killer{R}");//Краткий комментарий. 127 символов максимум
return ((nvpi->nvver.hi>2)||(nvpi->nvver.lo>71));//Плагин может работать на NetView выше 2.71
}

NVPluginGo - собственно функция, запускающая исполнение плагина, при возврате из этой функции ( или при исключении в ней) нетвью считает что плагин был выгружен. Для вызова этой функции нетвью создает новый поток. Параметр функции - указатель на структуру NVPLUGINGOINFO, подробное описание полей которой Вы можете узнать из nvplugn.h файла. В этой структуре поле nvmainwnd - хэндл основного окна нетвью. Может использоваться как Parent окно для плагинов. nvwnd - хэндл окна-обработчика сообщений плагина. Плагин общается с нетвью посредством Windows messages. Нетвью шлет сообщения потоку плагина через PostThreadMessage, плагин может слать сообщения окну nvwnd. При этом для завершения выполнения плагина нетвью шлет ему сообщение WM_QUIT после получения которого плагин должен совершить все процедуры своей деинициализации и завершить выполнение функции NVPluginGo. Примерный вид NVPluginGo:

DWORD WINAPI NVPluginGo(LPNVPLUGINGOINFO plgi)
{
init();//основные действия инициализации
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
workmessage(msg.message,msg.wParam,msg.lParam);//наша функция обработки сообщений от нетвью
DispatchMessage( &msg );
}
deinit();//деинициализация
return 0;
}

На верх


Плагины NetView

Взаимодействие с хостлистом

Функции работы с хостлистом можно разделить на следующие части:

Собственно работа с хостами - удаление, добавление, получение информации о хосте, получение информации о выделенных в данный момент в списке хостах - реализованы в виде сообщений NMPN_OBJECT. Имена хостов должны быть в нижнем регистре. Для операций с хостом lParam указывает на структуру NVHOST wParam может принимать следующие комбинации флагов:

NVOBJ_GETHOST - В структуре NVHOST необходимо указать id существующего хоста для получени информации о нем, либо 0 - тогда будет возвращена информация (в том числе и id) первого хоста в списке

Если комбинировать NVOBJ_GETHOST | NVOBJ_SELECTED то будет возвращен следующий выделенный хост после указанного в id (либо первый выделенный если id==0). В nextid возвращается id следующего хоста, что позволяет проходить по списку всех, либо выделенных хостов. Ниже приведен пример функции перечисляющей все выделенный хосты и передающей их по порядку процедуре yourstuff(NVHOST *):

NVHOST hst;ZeroMemory(&hst,sizeof(hst));
SendMessage(plgi->nvwnd,NMPN_OBJECT,NVOBJ_SELECTED|NVOBJ_GETHOST,(DWORD)&hst);
while(hst.id)
{
yourstuff(&hst);

hst.id=hst.nextid;
if(hst.id)SendMessage(plgi->nvwnd,NMPN_OBJECT,NVOBJ_SELECTED|NVOBJ_GETHOST,(DWORD)&hst);
}

NVOBJ_SETHOST - В структуре NVHOST указать id существующего хоста либо 0 для лобавления нового в список. При этом все поля структуры будут перенесены в хост.

NVOBJ_DELHOST - В структуре NVHOST указать id существующего хоста. Он будет удален полностью.

NVOBJ_HOSTBYTEXT - lParam указывает на char * строку - имя хоста или ip адрес. Может быть скомбинировано с NVOBJ_FORCENEW - в этом случае нетвью добавит новый хост, если не сможет найти существующий по указанному тексту. Сообщение возвращает id найденного или добавленного хоста. Если указать флаг NVOBJ_HOSTNOIP то будет добавлен хост с пустым IP без определения адреса по имени.

Работа с хостлистами. lParam указывает на NVLIST структуру. wParam может иметь следующие флаги:

NVOBJ_GETLIST - то же самое что и NVOBJ_GETHOST для хостов, за исключением того что NVOBJ_SELECTED не действует (пока, потом сделаю так чтобы при указании этого флага возвращался активынй список)

NVOBJ_SETLIST - принцип тот же что и NVOBJ_SETHOST

NVOBJ_DELLIST - удаляет список, id которого передается в lParam (заметьте для NVOBJ_DELHOST в lParam указывается структура NVHOST, а здесь только list id)

NVOBJ_LISTBYTEXT - аналогично NVOBJ_HOSTBYTEXT

Работа с линиями визуальной карты. Принципиально отличается от первых двух пунктов тем что линии нетвью хранит в виде массива а не списка для ускорения доступа и прорисовки.

NVOBJ_GETLINE - lParam указывает на NVLINE, в которой указан в index порядковый индекс линии, сообщение возвращает полное количество линий в хостлисте. Нетвью заполнчет поля структуры для указанной линии.

NVOBJ_SETLINE - lParam указывает на NVLINE, в которой заданы все параметры. Индекс следует установить в -1 для создания новой линии либо он должен быть равен индексу существующей линии. Нетвью установит параметры линии и перерисует ее.

NVOBJ_DELLINE - lParam равен индексу линии, которую нужно удалить

Работа с областями - визуальными прямоугольниками на карте. Примерно так же как с хостлистами и хостами:
NVOBJ_GETAREA - lParam указывает на структуру NVAREA в которой заполнено поле id в идентификатор существующей области или в 0 для получения самой первой области в списке. Позволяет обходить список областей аналогично работе с хостами и хостлистами. Возвращает идентификатор в случае успеха или 0 в случае ошибки.
NVOBJ_SETAREA - lParam указывает на структуру NVAREA в которой заполнены все поля. id установлен либо в идентификатор области которую нужно поменять либо в 0 - тогда будет создана новая область на заданном хостлисте и с заданным именем. Учтите что на одном хостлисте области могут иметь только уникальные имена. Возвращает идентификатор в случае успеха, 0 - в случае глобального облома, -1 - в том случае если плагин пытается присвоит области имя уже существующей на карте другой области с таким же именем.
NVOBJ_DELAREA - lParam установлен в идентификатор id области подлежащей удалению. Возвращает 1 в случае успеха и 0 - в случае облома.

Работа с метаданными хостов. Метаданные - это строка, ассоциированная с хостом и имеющая уникальное в пределах этого хоста имя. Строка и ее имя не может содержать в себе символы '#','$',#0,#13,#10 но это ограничение будет снято в будущих версиях. В принципе ничто не мешает записать в метаданные полную медкарточку пользователя компа, но этого лучше не делать из соображени быстродействия. Если будете использовать свои метапеременные настоятельно рекомендую написать мне письмо для получения уникального начала имен переменных (а-ля "abcd_"), что позволит избежать путаницы с другими плагинами. Имена переменных чувствительны к регистру букв. Работа с ними осуществлется с помощью сообщения NMPN_METAVAR, lParam указывает на структуру NVMETAVAR, причем для нее должно быть выделено достаточно памяти. wParam принимает значения:

NVMETAVAR_GET - перед вызовом указать hostname и varname в NVMETAVAR. Если переменной не существует будет возвращена пустая строка. Если максимальная граница строки неизвестна, нужно установить vallen равным нулю, после вызова сообщения нетвью установит vallen в необходимое значение. Затем выделить нужное кол-во памяти под структуру и вызвать сообщение еще раз. Примерный код этого дела:

LPNVMETAVAR mv=(LPNVMETAVAR)malloc(256);
ZeroMemory(mv,256);
mv->host.id=HostId;

strcpy(mv->varname,"abcd_myvar");
mv->vallen=0;
SendMessage(plgi->nvwnd,NMPN_METAVAR,NVMETAVAR_GET|NVMETAVAR_USEID,(DWORD)mv);
mv=(LPNVMETAVAR)realloc(mv,256+mv->vallen);//выделили необходимое кол-во памяти
ZeroMemory(mv->val,mv->vallen+1);

SendMessage(plgi->nvwnd,NMPN_METAVAR,NVMETAVAR_GET|NVMETAVAR_USEID,(DWORD)mv);
//теперь в mv->val мы имеем NULL TERMINATED строку длиной mv->vallen

//делаем с ней все что хотим и...:

free(mv);

NVMETAVAR_SET - указать все параметры в NVMETAVAR. Если строка имеет нулевую длину она будет удалена.

LPNVMETAVAR mv=(LPNVMETAVAR)malloc(256+val.Length());
strcpy(mv->hostname,"coolhost");
strcpy(mv->varname,"abcd_myvar");
strcpy(mv->val,"my metavar string");
mv->vallen=val.Length();
SendMessage(plgi->nvwnd,NMPN_METAVAR,NVMETAVAR_SET,(DWORD)mv);
free(mv);

Нетвью хранит все параметры хостов в метапеременных. Назначение некоторых (далеко не всех) встроенных метапеременных:

Список основных метапеременных можно найти здесь

Для применения изменений в большинстве внутренних метапеременных достаточно сделать NMPN_ACTION с флагом NVACTION_SETSTATE указав в lParam соответствующий host id.

На верх


Плагины NetView

Создание элементов меню плагина в интерфейсе NetView

Плагин может создавать пункты меню в подменю Plug-ins главного меню, в контекстном меню списка плагинов и в контекстном меню иконки в System Tray. Так же можно создавать пункты меню, являющиеся дочерними для уже созданных, что позволяет делать иерархические меню. Плагин должен при выходе уничтожать пункты меню, в противном случае они пропадут только при щелчке мышки на пункте меню несуществующего плагина. Создание, изменение и удаление пункта меню осуществляется посредством управляющего сообщения NMPN_MENU. Параметр wParam может принимать значения: MENUACTION_SET - создает или изменяет элемент меню. lParam указывает на структуру NVMENUINFO.

Назначение полей NVMENUINFO:

DWORD id: уникальный идентификатор элемента меню (фактически является указателем на VCL объект TMenuItem). Для создания нового элемента меню установите это поле в 0. Для поседующей модификации элемента используйте значение, которое запишет в это поле NetView после завершения обработки сообщения.

DWORD msg: сообщение которое нетвью будет слать при нажатии юзером пункта меню потоку с ThreadID равным указанному в поле...

DWORD tid: ThreadID потока плагина, обрабатывающего сообщения о нажатии пункта меню от нетвью.

HICON icon - иконка которая будет рисоваться в меню, либо 0.

DWORD parentid - идентификатор уже созданной родительской менюшки, либо 0.

char text[64] - текст менюшки

DWORD flags - NVMENUFLAG_MAIN для создания меню в Plug-ins, NVMENUFLAG_CONTEXT - для создания пункта в контекстном меню, NVMENUFLAG_TRAY - меню иконки в трее. Насчет остальных флагов - см файл nvplugn.h

Плигин может динамически создавать и менять элементы меню, даже тогда когда оно на экране. Примерный код функций создания, модификации и удаления созданной менюшки:

Создаем менюшки:

NVMENUINFO mi,mic;

void __fastcall init()

{

//создаем пункт в главном меню

ZeroMemory(&mi,sizeof(mi));
strcpy(mi.text,"Sample");
mi.tid=GetCurrentThreadId();//поток которому нетвью будет слать сообщение о нажатии меню
mi.msg=WM_USER+0x501;//это сообщение пошлет нетвью указанному потоку при выборе меню
mi.flags=NVMENUFLAG_MAIN;
SendMessage(plgi->nvwnd,NMPN_MENU,NVMENUACTION_SET,(DWORD)&mi);

//создаем подпункт в созданном элементе

ZeroMemory(&miс,sizeof(miс));
strcpy(miс.text,"Sample child menu");
miс.tid=GetCurrentThreadId();
miс.msg=WM_USER+0x502;
mic.parentid=mi.id;
SendMessage(plgi->nvwnd,NMPN_MENU,NVMENUACTION_SET,(DWORD)&mic);
}

Обработчик сообщений нетвью, реагирующий на нажатие дочернего меню(выкидывающий MessageBox и включающий-выключающий check-галочку в менюшке:

void __fastcall workmessage(DWORD msg, DWORD wp, DWORD lp)
{
if(msg==WM_USER+0x502)

{

MessageBox(0,"User clicked my menu item","Sample plug-in",0);

mic.flags^=NVMENUFLAG_CHECKED;

SendMessage(plgi->nvwnd,NMPN_MENU,NVMENUACTION_SET,(DWORD)&mic);

}
}

Следующая процедура корректно удяляет созданные менюшки перед завершением работы плагина:

void __fastcall deinit()

{

SendMessage(plgi->nvwnd,NMPN_MENU,NVMENUACTION_DEL,mic.id);
SendMessage(plgi->nvwnd,NMPN_MENU,NVMENUACTION_DEL,mi.id);
}

На верх


Плагины NetView

Сообщения NMNP_ALERT, NMPN_ACTION и NMNP_ACTION

Сообщение NMNP_ALERT нетвью шлет плагинам c различными флагами в wParamв следующих случаях:

NVALERT_NETWATCHER - когда нетвочер засекает новое подключение. В lParam указан host id пользователя или 0, если все очень плохо

NVALERT_ALARMHOST - хост с включенным оповещением изменил свое online состояние. lParam аналогично.

NVALERT_TERMINAL - подключение\отключение в терминале, работающем в Listen режиме. lParam аналогично.

NVALERT_REDIRECTOR - Клиент подключился к TCP мосту. lParam аналогично.

NVALERT_IPLOGGER - IP logger задетектил что кто-то Вас сканирует или пытается зафлудить. В lParam ниче нету.

NVALERT_NETSEARCHER - поисковик файлов завершил поиск.

В wParam могут быть установлены следующие битовые флаги:

NVALERTMASK_CANCEL - устанавливается если длительное действие завершилось (Юзер щелкнул по иконке Alarm хоста, в NetWatcher'е отключился юзверь (сам или не совсем), в терминале или TCP мосте отключился клиент. IP logger - Вас перестали ломать (либо забили либо взломали).

NVALERTMASK_NWBLACK - юзер нетвочера из kicklist'а

NVALERTMASK_NWWHITE - юзер нетвочера из keeplist'а

NVALERTMASK_ILLIST - IPLogger - Вас сканируют

NVALERTMASK_ILICMP - IPLogger - Вас флудят. Пингами.

NVALERTMASK_ILSYN - IPLogger - Вас флудят TCP SYN'ами.

NVALERTMASK_ILUDP - IPLogger - Вас флудят UDP пакетами.

NVALERTMASK_HOSTUP - Alarm хост включился

NVALERTMASK_HOSTDOWN - Alarm хост выключился

Сообщение NMPN_ACTION плагин шлет нетвью с флагами в wParam для того чтобы:

NVACTION_GETFROMNET | NVACTION_LIST - обновить хостлист из сети

NVACTION_GETFROMFILE | NVACTION_LIST -обновить хостлист из файла, в lParam char * на путь к файлу. Или 0 - будет перечитан дефолтовый хостлист.

NVACTION_RECHECK - перепроверяет хост с id указанном в lParam. Если добавить флаг NVACTION_LIST будет проверен список с list id в lParam, Либо все списки если там 0.

NVACTION_RETRACE - перетрассирует хосты, флаги те же что и в NVACTION_RECHECK

NVACTION_CLEARLIST - очищает указанный в lParam хостлист, либо все вместе если указать 0.

NVACTION_OPEN - открыть указанный в lParam хост.

NVACTION_SAVELMHOSTS - сохраняет весь список хостов в файл с путем указанным в lParam (если указать 0 сохранит в файл по умолчанию)

NVACTION_SETSTATE - обновляет хост. lParam - host id.

NVACTION_EDIT - открывает окошко редактирования указанного хоста. Если юзер нажмет отмену возвратит 0, иначе host id.

NVACTION_IMGEXPORT - инициирует экспорт визуальной карты, возвращает 0 при ошибке (например список не в режиме Visual map).

Сообщение NMNP_ACTION нетвью шлет плагину с следующими флагами в wParam (флаги могут комбинироваться):

NVACTION_GETFROMNET - указывается после того как нетвью завершит обновление из сети.

NVACTION_GETFROMFILE - указывается после того как нетвью завершит обновление из файла.

NVACTION_RECHECK - указывается после того как нетвью завершит проверку списка.

NVACTION_RETRACE - указывается после того как нетвью завершит трассировку списка.

NVACTION_ACTIVATE - окно нетвью было (де)активировано. В lParam указывается wParam сообщения WM_ACTIVATE.

NVACTION_MENUPOPUP - шлется когда юзер вызывает соответствующее меню. В lParam могут быть NVMENUFLAG_MAIN, NVMENUFLAG_CONTEXT или NVMENUFLAG_TRAY.

NVACTION_IMGEXPORT - шлется по завершению экпорта карты в .jpg файл (в lParam list id).
Сообщение NMNP_HOSTMSG НВ шлет плагину если юзер кликнул 2 раза на хосте, у которого в строке специальной команды указано hostmsg:N, где N - произвольное число. wParam - равен N, lParam - равен идентификатору хоста

На верх


Плагины NetView

Плагины NetView :: Колбяки (Callbacks)

Плагин может установить процедуру-обработчик таких событий как перепроверка хоста для которого отключена стандартная перепроверка (пингом или сканированием) и событие обновления состояния хоста инициируемое каждый раз когда NetView хочет обновить состояние хоста например после перепроверки или после изменения картинки для того чтобы эти изменения визуально отобразились. Эта возможность появилась в NetView 2.80 и позволяет корректнее добавлять в НВ свои процедуры перепроверки. Делается это все при помощи сообщения NMPN_CALLBACK. Например если вы хотите установить обработчик событий перепроверки и обновления состояние то его надо вначале объявить соответствующим образом:

LRESULT CALLBACK MyCallbackProc(DWORD Code, DWORD ObjId, void *reserved)

{

//do something...

return 1;

}

Включение обработчика делается следующим образом:

SendMessage(nvwnd,NMPN_CALLBACK, NVCB_CUSTOM_RECHECK|NVCB_PRE_SETSTATE, (DWORD)&MyCallbackProc);

Перед завершением работы плагина обработчик обязательно нужно отключить, иначе вылетит сообщение об ошибке:

SendMessage(nvwnd,NMPN_CALLBACK, NVCB_REMOVECALLBACK|NVCB_CUSTOM_RECHECK|NVCB_PRE_SETSTATE, (DWORD)&MyCallbackProc);

Параметры процедуры обработчика:

  • Code - код события. NVCB_CUSTOM_RECHECK или NVCB_PRE_SETSTATE соответственно.
  • ObjId - идентификатор хоста для которого проводится перепроверка или обновление. Этот идентификатор можно использовать с остальными функциями работы с хостами и их метапеременными.


Лицензия

NetView поставляется как FREEWARE для любых видов использования. Запрещается распространение NetView на условиях, отличных от данной лицензии.
NetView распространяется свободно, при условии того, что настоящий дистрибутив не изменен. При распространении на CD-ROM с программным обеспечением просьба сообщать автору.

ПРОГРАММА ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. АВТОР НЕ БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.


Контактная информация

Автор программы: Killer{R}

Домашняя страница программы: www.Killprog.com

Ваши вопросы, пожелания, предложения можете отсылать на мыло: Killer{R}

Автор хелпа: Владимир Манов aka VoVaN

Домашняя страница: VoVaN.SilverNet.ru

Ваши вопросы, пожелания и информацию об ошибках шлите на мыло: VoVaN