Тема: HTA/JScript: Network Calculator (библиотека NetIP)
Решил поделиться еще одной своей небольшой поделкой. Лежит она у меня давно (почти пять лет), за это время она, если и изменялась, то незначительно. Естественно, аналоги существуют; один из них (LanCalculator) послужил прообразом дизайна.
Суть программы - расчет IP-адресов подсети (включая адрес подсети, широковещательного адреса) с учетом маски подсети, битовой маски, инверсии маски, размера (количество допустимых адресов) подсети, вывод в двоичной, восьмеричной, десятичной и шестнадцатеричной системе счисления.
Окно программы состоит из 3 областей:
-- область ввода данных;
-- область детализации введенных данных;
-- область отображения параметров сети (адрес сети, широковещательный адрес, первый и последний адреса подсети, размер подсети).
Архив последней версии доступен на странице скачивания - https://github.com/ildar-shaimordanov/jsxt/releases .
Сама программа основана на небольшой библиотечке NetIP, которая выполняет определенные манипуляции с сетевыми адресами - вычисление
а) адресов (сетевого, широковещательного, первого и последнего доступного адреса сети),
б) масок подсети,
в) количества доступных адресов в диапазоне;
г) определение принадлежности некоторого адреса данной подсети;
д) перевод адресов из точечной нотации в числовую форму и обратно.
// Несколько способов создания одного объекта
var net = new NetIP('192.168.1.100/24');
var net = new NetIP('192.168.1.100/255.255.255.0');
var net = new NetIP('192.168.1.100/0.0.0.255');
// Определение принадлежности адреса данной подсети
WScript.Echo(net.contains('192.168.1.200));
Предложения по исправлению ошибок и улучшению - приветствуются.