1 (изменено: Rumata, 2016-09-12 14:57:34)

Тема: HTA/JScript: Network Calculator (библиотека NetIP)

Решил поделиться еще одной своей небольшой поделкой. Лежит она у меня давно (почти пять лет), за это время она, если и изменялась, то незначительно. Естественно, аналоги существуют; один из них (LanCalculator) послужил прообразом дизайна.

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

Окно программы состоит из 3 областей:
-- область ввода данных;
-- область детализации введенных данных;
-- область отображения параметров сети (адрес сети, широковещательный адрес, первый и последний адреса подсети, размер подсети).

Архив последней версии доступен на странице скачивания - https://github.com/ildar-shaimordanov/jsxt/releases .

https://github.com/ildar-shaimordanov/jsxt/blob/master/wiki/NetCalc.jpg?raw=true

Сама программа основана на небольшой библиотечке 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));

Предложения по исправлению ошибок и улучшению - приветствуются.

( 2 * b ) || ! ( 2 * b )