Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
zik
- мл. сержант
- Сообщения: 134
- Зарегистрирован: 2007-05-24 21:14:01
- Откуда: Одесса
-
Контактная информация:
Непрочитанное сообщение
zik » 2008-01-22 15:30:25
Всем, привет.
Есть такая задача надо написать скрипт который бы высчивал какие сети свободные, а какие нет. Напрмер передаются значения:
Код: Выделить всё
address 64.28.180.97/29;
address 64.28.180.33/29;
address 64.28.180.1/29;
address 64.28.180.17/29;
address 64.28.180.25/29;
address 64.28.180.113/29;
address 64.28.180.241/28;
address 64.28.180.137/29;
address 64.28.180.129/29;
А надо высчитать какая сеть свободная, тут свободная 64.28.180.9/29 (ну, т.е. это не адреса подсетей, а первые ип в этой подсети (gateway), но суть таже). Может у кого есть алгоритм готовый, чтоб заново не писать или мысли как это сделать получше %)
zik
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-01-22 15:48:19
есть калькулятор IP
на сайте статься - в мелочах чтоли
Убей их всех! Бог потом рассортирует...
Alex Keda
-
idle
- мл. сержант
- Сообщения: 80
- Зарегистрирован: 2007-02-28 12:21:52
- Откуда: Барселона
-
Контактная информация:
Непрочитанное сообщение
idle » 2008-01-23 10:35:26
Писал такое на perl, с помощью модуля Net::IP.
idle
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2008-01-25 15:24:18
Код: Выделить всё
#!/bin/sh
echo "address 64.28.180.97/29
address 64.28.180.33/29
address 64.28.180.1/29
address 64.28.180.17/29
address 64.28.180.25/29
address 64.28.180.113/29
address 64.28.180.241/28
address 64.28.180.137/29
address 64.28.180.129/29" \
| awk '{print $2}' \
| xargs -I % ipcalc -n % \
| grep -E 'Network|HostMin|HostMax'
собственно результат
Код: Выделить всё
Network: 64.28.180.96/29 01000000.00011100.10110100.01100 000
HostMin: 64.28.180.97 01000000.00011100.10110100.01100 001
HostMax: 64.28.180.102 01000000.00011100.10110100.01100 110
Network: 64.28.180.32/29 01000000.00011100.10110100.00100 000
HostMin: 64.28.180.33 01000000.00011100.10110100.00100 001
HostMax: 64.28.180.38 01000000.00011100.10110100.00100 110
Network: 64.28.180.0/29 01000000.00011100.10110100.00000 000
HostMin: 64.28.180.1 01000000.00011100.10110100.00000 001
HostMax: 64.28.180.6 01000000.00011100.10110100.00000 110
Network: 64.28.180.16/29 01000000.00011100.10110100.00010 000
HostMin: 64.28.180.17 01000000.00011100.10110100.00010 001
HostMax: 64.28.180.22 01000000.00011100.10110100.00010 110
Network: 64.28.180.24/29 01000000.00011100.10110100.00011 000
HostMin: 64.28.180.25 01000000.00011100.10110100.00011 001
HostMax: 64.28.180.30 01000000.00011100.10110100.00011 110
Network: 64.28.180.112/29 01000000.00011100.10110100.01110 000
HostMin: 64.28.180.113 01000000.00011100.10110100.01110 001
HostMax: 64.28.180.118 01000000.00011100.10110100.01110 110
Network: 64.28.180.240/28 01000000.00011100.10110100.1111 0000
HostMin: 64.28.180.241 01000000.00011100.10110100.1111 0001
HostMax: 64.28.180.254 01000000.00011100.10110100.1111 1110
Network: 64.28.180.136/29 01000000.00011100.10110100.10001 000
HostMin: 64.28.180.137 01000000.00011100.10110100.10001 001
HostMax: 64.28.180.142 01000000.00011100.10110100.10001 110
Network: 64.28.180.128/29 01000000.00011100.10110100.10000 000
HostMin: 64.28.180.129 01000000.00011100.10110100.10000 001
HostMax: 64.28.180.134 01000000.00011100.10110100.10000 110
zg#
zg