Страница 1 из 1
ipcalc
Добавлено: 2007-10-02 9:07:38
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
При чем все цветное и красивое. Все. Пользуйтесь

Re: ipcalc
Добавлено: 2007-10-02 10:17:55
-cat-
Добавлю свои 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 Помощь.
Где ошибся - исправьте.
Re: ipcalc
Добавлено: 2007-10-02 10:25:43
Alex Keda
зер гуд

Re: ipcalc
Добавлено: 2007-10-02 10:26:56
schizoid
точна

фпечать !
Re: ipcalc
Добавлено: 2007-10-03 8:47:24
schizoid
А какой номер раздела "Мелочи" ?
Re: ipcalc
Добавлено: 2007-10-03 9:50:24
schizoid
статью разместил, но она пока скрытая...че делать дальше? открывать или еще будет рецензия?
Re: ipcalc
Добавлено: 2007-10-03 12:55:05
Alex Keda
опубликовал, спам разослал

Re: ipcalc
Добавлено: 2007-10-03 13:35:15
dikens3
Ещё есть полезная фича - деление на подсети:
К примеру нужно из /24 получить сколько то /25 и т.п.
Код: Выделить всё
gateway# 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
Или на 4 подсети:
Код: Выделить всё
gateway# ipcalc 192.168.10.0/24 /26
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 /26
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
1.
Network: 192.168.10.0/26 11000000.10101000.00001010.00 000000
HostMin: 192.168.10.1 11000000.10101000.00001010.00 000001
HostMax: 192.168.10.62 11000000.10101000.00001010.00 111110
Broadcast: 192.168.10.63 11000000.10101000.00001010.00 111111
Hosts/Net: 62 Class C, Private Internet
2.
Network: 192.168.10.64/26 11000000.10101000.00001010.01 000000
HostMin: 192.168.10.65 11000000.10101000.00001010.01 000001
HostMax: 192.168.10.126 11000000.10101000.00001010.01 111110
Broadcast: 192.168.10.127 11000000.10101000.00001010.01 111111
Hosts/Net: 62 Class C, Private Internet
3.
Network: 192.168.10.128/26 11000000.10101000.00001010.10 000000
HostMin: 192.168.10.129 11000000.10101000.00001010.10 000001
HostMax: 192.168.10.190 11000000.10101000.00001010.10 111110
Broadcast: 192.168.10.191 11000000.10101000.00001010.10 111111
Hosts/Net: 62 Class C, Private Internet
4.
Network: 192.168.10.192/26 11000000.10101000.00001010.11 000000
HostMin: 192.168.10.193 11000000.10101000.00001010.11 000001
HostMax: 192.168.10.254 11000000.10101000.00001010.11 111110
Broadcast: 192.168.10.255 11000000.10101000.00001010.11 111111
Hosts/Net: 62 Class C, Private Internet
Subnets: 4
Hosts: 248
Re: ipcalc
Добавлено: 2007-10-03 14:16:16
schizoid
действительно полезная, нуно добавить с статью

Re: ipcalc
Добавлено: 2007-10-03 14:39:59
Alex Keda
schizoid писал(а):действительно полезная, нуно добавить с статью

дык - добавь!

Re: ipcalc
Добавлено: 2007-10-03 15:13:14
schizoid
так ужо

Re: ipcalc
Добавлено: 2007-10-03 20:11:47
Andy
И еще объяснение бы в статью, как все это дело в уме считать, цены бы небыло!
Re: ipcalc
Добавлено: 2007-10-04 8:48:00
schizoid
что в уме считать?
Re: ipcalc
Добавлено: 2007-10-04 8:55:04
schizoid
ну к примеру сеть /24, самая распространенная
сеть длиной /24 соответствует маске 255.255.255.0
как это считается?
24=8+8+8+0
255 в двоичной системе равно 11111111, т.е. 8-мь единиц (128+64+32+16+8+4+2+1)
т.е. 1-й октет у нас равен 8, также 2-й и 3-й, последний 0. вот и получаем 8+8+8+0=24
-----
это про маску
про ИП адреса позже. и так замучился писать

может где в вики это описано

Re: ipcalc
Добавлено: 2007-10-04 10:23:12
dikens3
В подготовке к ccna описано.
На ftp у лиса это есть.
Re: ipcalc
Добавлено: 2007-10-04 19:32:25
Andy
schizoid писал(а):ну к примеру сеть /24, самая распространенная
Это я знаю как считается, а /29?

Re: ipcalc
Добавлено: 2007-10-04 22:35:46
dikens3
Правило 1: В маске нули могут быть только в конце, т.е. не может быть такого:
11111111 1111111 10111111 00000000
Правило 2: В маске 32 бита и Маска /X обозначает количество бит слева, установленных в 1 (единицу). Считать всегда придётся только 1 байт.
Правило 3: Знать на память десятичные данные:128+64+32+16+8+4+2+1 (Каждая цифра суммируется, еcли бит равен 1(единице))
Это я знаю как считается, а /29?
Ну всего битов 32 (4 байта)
8*3 = 24, получаем 255.255.255.X
29-24=5 , т.е. ещё 5 включённых битов.
В двоичной системе это будет уже так:
3 байта одни 1 (единицы) + 5 битов (тоже единицы) + 3 нуля
Получаем 111111111 11111111 11111111 11111000
Теперь нужно найти наш Х
128+64+32+16+8+4+2+1 (Несложно, всё делится на 2)
1 1 1 1 1 0 0 0
А сейчас считаем сумму где есть бит установленный в 1 (единицу)
128+64+32+16+8+0+0+0=248 (/29)
или наоброт, считаем 4+2+1=7 255-7=248 :-)
P.S. Мне с битами очень легко работать, а писал на ассемблере, и ошибка в бите могла (И часто приводила) привести к потере всей программы. :-)
Из верхних примеров:
Код: Выделить всё
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Netmask: 255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Re: ipcalc
Добавлено: 2007-10-05 0:11:19
Andy
dikens3 писал(а):P.S. Мне с битами очень легко работать, а писал на ассемблере, и ошибка в бите могла (И часто приводила) привести к потере всей программы. :-)
За объяснения спасибо. Ты вирусы писал, что ошибка могла к потере программы привести?
p.S: когда писал на асме, я шестнадцатиричной системой счисления пользовался.
Re: ipcalc
Добавлено: 2007-10-05 9:33:53
dikens3
когда писал на асме, я шестнадцатиричной системой счисления пользовался.
Тогда непонятно почему ты это непонимаешь.
Ты вирусы писал, что ошибка могла к потере программы привести?
Нет, просто тогда дискет небыло и требовалось записывать на магнитофон. :-)
Если в программе что не так, комп перезапускался и ппц проге. :-)
Там же есть XOR/OR/AND :-)
Пример:
Есть вся программа в памяти по адресу: #0800-#0A00
Допустим в этой программе есть картинка по адресам: #0900-#0A00
Запускаем код #0800
Иногда блок перемещаемых данных(#0900-#0A00), куда он будет записан, получается посредством каких-либо операций XOR/OR/AND.
Отсюда имеем, если адрес назначения будет #0800 тогда что? Правильно ппц нашей проге. Ассемблеру пофиг, он отработает всё как надо. :-)
Re: ipcalc
Добавлено: 2007-10-05 13:06:02
Andy
dikens3 писал(а):Тогда непонятно почему ты это непонимаешь.
Так у меня был калькулятор в Dos Navigator'е, я им пользовался, а в уме не считал.
dikens3 писал(а):
Нет, просто тогда дискет небыло и требовалось записывать на магнитофон. :-)
Если в программе что не так, комп перезапускался и ппц проге. :-)
Там же есть XOR/OR/AND :-)
Понятно, ты про Z80 асм. Не знаю его, к сожалению. Я на 8086 немного прогал.
dikens3 писал(а):
Пример:
Есть вся программа в памяти по адресу: #0800-#0A00
Допустим в этой программе есть картинка по адресам: #0900-#0A00
Кстати, в Z80 flat модель памяти? или страничная?
dikens3 писал(а):
Запускаем код #0800
Иногда блок перемещаемых данных(#0900-#0A00), куда он будет записан, получается посредством каких-либо операций XOR/OR/AND.
Отсюда имеем, если адрес назначения будет #0800 тогда что? Правильно ппц нашей проге. Ассемблеру пофиг, он отработает всё как надо. :-)
Вот тут не уловил, ты имеешь ввиду зашифрованную картинку по адресу #0900 или вычисление адреса происходит побитовыми операциями?
Re: ipcalc
Добавлено: 2007-10-05 15:56:35
dikens3
Вот тут не уловил, ты имеешь ввиду зашифрованную картинку по адресу #0900 или вычисление адреса происходит побитовыми операциями?
Забей.
Кстати, в Z80 flat модель памяти? или страничная?
Я знаю только одну модель и выглядит она так:
Есть
вся пять начиная от 1-65535
Память с адресами 1-16384 зарезервирована под процессорные команды (ПЗУ) (В данном диапазоне уже есть данные, они всегда одинаковые и выполняют определённые действия)
Ещё есть определенный диапазон для экрана, т.е. к примеру с 16385-20000 (Я не помню уже сколько точно, образно)
В итоге под ассемблерный код остаётся с 20000-65535
Если нужно что-то отобразить на экране, блок данных переписывается в область 16385-20000)
Теперь предположим нам не хватает диапазона 20000-65535?
Тогда делаем:
A=1
Выполнить код по адресу 10000 (Т.е. из ПЗУ -
JP #2710)
В итоге включаем другую страницу равную 1 (единице) и записываем/извлекаем что нам нужно в диапазоне 49152-65535.
В итоге имеем 4 страницы памяти для 64Мб. :-)
Наверное страничная.
Re: ipcalc
Добавлено: 2007-10-06 16:33:31
dikens3
Читаю книгу - Криминалистический анализ файловых систем. (У лиса на ftp в upload пока лежит)
Страница 39 - перевод из 2-ичной в 10-ичную.