Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Мелочи —> ipcalc

ipcalc

Автор: schizoid.


Утилитка для расчета сетевых адресов.
# whereis ipcalc
ipcalc: /usr/ports/net-mgmt/ipcalc

Присутствует, хорошо, идем по указанному пути.
# cd /usr/ports/net-mgmt/ipcalc
# make install clean
===>  Vulnerability check disabled, database not found
===>  Extracting for ipcalc-0.40
=> MD5 Checksum OK for ipcalc-0.40.tar.gz.
===>   ipcalc-0.40 depends on file: /usr/local/bin/perl5.8.5 - found
===>  Patching for ipcalc-0.40
===>   ipcalc-0.40 depends on file: /usr/local/bin/perl5.8.5 - found
===>   ipcalc-0.40 depends on file: /usr/local/bin/perl5.8.5 - found
===>  Configuring for ipcalc-0.40
===>  Installing for ipcalc-0.40
===>   ipcalc-0.40 depends on file: /usr/local/bin/perl5.8.5 - found
===>   Generating temporary packing list
===>  Checking if net-mgmt/ipcalc already installed
install  -o root -g wheel -m 555 
/usr/ports/net-mgmt/ipcalc/work/ipcalc-0.40/ipcalc /usr/local/bin/ipcalc
===>   Registering installation for ipcalc-0.40
===>  Cleaning for perl-5.8.8
===>  Cleaning for ipcalc-0.40

Вот собственно и все :)
Проверяем:
# ipcalc 192.168.0.0/16
Address:   192.168.0.0          11000000.10101000. 00000000.00000000
Netmask:   255.255.0.0 = 16     11111111.11111111. 00000000.00000000
Wildcard:  0.0.255.255          00000000.00000000. 11111111.11111111
=>
Network:   192.168.0.0/16       11000000.10101000. 00000000.00000000
HostMin:   192.168.0.1          11000000.10101000. 00000000.00000001
HostMax:   192.168.255.254      11000000.10101000. 11111111.11111110
Broadcast: 192.168.255.255      11000000.10101000. 11111111.11111111
Hosts/Net: 65534                 Class C, Private Internet

И даже так:
#ipcalc 192.168.0.0 255.255.248.0
Address:   192.168.0.0          11000000.10101000.00000 000.00000000
Netmask:   255.255.248.0 = 21   11111111.11111111.11111 000.00000000
Wildcard:  0.0.7.255            00000000.00000000.00000 111.11111111
=>
Network:   192.168.0.0/21       11000000.10101000.00000 000.00000000
HostMin:   192.168.0.1          11000000.10101000.00000 000.00000001
HostMax:   192.168.7.254        11000000.10101000.00000 111.11111110
Broadcast: 192.168.7.255        11000000.10101000.00000 111.11111111
Hosts/Net: 2046                  Class C, Private Internet

Или так. К примеру нужно из сети /24 получить сколько то сетей /25 и т.п.


# ipcalc 192.168.10.0/24 /25
Address:   192.168.10.0         11000000.10101000.00001010. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.10.0/24      11000000.10101000.00001010. 00000000
HostMin:   192.168.10.1         11000000.10101000.00001010. 00000001
HostMax:   192.168.10.254       11000000.10101000.00001010. 11111110
Broadcast: 192.168.10.255       11000000.10101000.00001010. 11111111
Hosts/Net: 254                   Class C, Private Internet

Subnets after transition from /24 to /25

Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111

1.
Network:   192.168.10.0/25      11000000.10101000.00001010.0 0000000
HostMin:   192.168.10.1         11000000.10101000.00001010.0 0000001
HostMax:   192.168.10.126       11000000.10101000.00001010.0 1111110
Broadcast: 192.168.10.127       11000000.10101000.00001010.0 1111111
Hosts/Net: 126                   Class C, Private Internet

2.
Network:   192.168.10.128/25    11000000.10101000.00001010.1 0000000
HostMin:   192.168.10.129       11000000.10101000.00001010.1 0000001
HostMax:   192.168.10.254       11000000.10101000.00001010.1 1111110
Broadcast: 192.168.10.255       11000000.10101000.00001010.1 1111111
Hosts/Net: 126                   Class C, Private Internet


Subnets:   2
Hosts:     252

И еще 5 копеек :)
Использование: ipcalc [options] <ADDRESS>[[/]<NETMASK>] [NETMASK]

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

Опции:
-n --nocolor Подавить вывод цветов.
-b --nobinary Подавить поразрядный вывод.
-c --class Показать маску сети по адресу.
-h --html Показать результаты в HTML (не реализовано в этой версии).
-v --version Показать версию программы.
-s --split n1 n2 n3 Разделить сети по размеру n1, n2, n3.
-r --range Исключить диапазон адресов .
--help --Помощь.

При чем все цветное и красивое. Все. Пользуйтесь :)



размещено: 2007-10-03,
последнее обновление: 2007-10-03,
автор: schizoid


Hrafn, 2007-10-03 в 13:56:45

Спасибо

Wormer, 2007-10-03 в 17:46:25

Ну и все конечно знают про http://www.opennet.ru/ipcalc.shtml :)

sticker, 2007-10-04 в 13:34:07

ipcalc плавали, немного знаем. Но выыбор остановился на его родственнике :)
/usr/ports/net-mgmt/sipcalc

DyuS, 2008-02-18 в 8:05:08

Остается добавить что потом можно закинуть содержимое папки work (естественно если не выполнять clean ;)) куданить в апач, и наслаждатся в браузере.
Единственно что я сделал так это поправил имя картинки в хейдере, и отключил help, а то глаз мазолил.

Igor, 2008-09-18 в 20:18:22

Есть более удобная штука IP Workshop
http://www.pkostov.com/ip_workshop2.html
полный набор работы с ИП



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1727 секунд
Из них PHP: 56%; SQL: 44%; Число SQL-запросов: 77 шт.
Исходный размер: 28443; Сжатая: 5243