Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   VBS - как по диапазону IP получить маску (http://forum.oszone.net/showthread.php?t=317668)

God-of-Chaos 10-08-2016 02:46 2658298

VBS - как по диапазону IP получить маску
 
подскажите, как на vbs сделать скрипт который по диапазону ip вычисляет битность маски (маску)

к примеру входные данные (включая адрес сети и бродкаст):

192.168.153.0 - 192.168.153.127


данные на выходе:

192.168.153.0/25 или 255.255.255.128


или хотя бы по какой формуле вычисляется CIDR по диапазону IP

greg zakharov 10-08-2016 15:01 2658492

Насколько помню делается это примерно так (без жестких проверок айпишника и маски):
Код:

(function(ip, mask) {
  var arr = mask.split('.'),
      cidr = 0;
 
  for (var i = 0, x = 0; i < arr.length; i++) {
    x = x * 256 + parseInt(arr[i]);
  }
 
  cidr = x.toString(2).indexOf('0');
 
  WScript.echo(ip + '/' + cidr);
}(
  WScript.Arguments.length !== 2
  ? (function() {
    WScript.echo('Usage: ' + WScript.ScriptName + ' <ip> <mask>');
    WScript.Quit(1);
  }())
  : WScript.Arguments.Unnamed(0), WScript.Arguments.Unnamed(1)
));



Время: 07:13.

Время: 07:13.
© OSzone.net 2001-