@init0ru

Знает кто хорошую библиотеку для конвертации диапазона IP в CIDR(ы)?

Не могу найти нормальную библиотеку на PHP для преобразования диапазона IP адресов в CIDR (или CIDRы). То есть на вход ей дать к примеру 10.0.23.40-10.0.25.241 а на выходе получить что-то вроде
10.0.23.40/29
10.0.23.48/28
10.0.23.64/26
10.0.23.128/25
10.0.24.0/24
10.0.25.0/25
10.0.25.128/26
10.0.25.192/27
10.0.25.224/28
10.0.25.240/31
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
https://github.com/S1lentium/IPTools
Умеет решать обширный спектр задач которые возникают при работе с адресами, подсетями и тд.

$range_str = '10.0.23.40-10.0.25.241';
$networks = IPTools\Range::parse($range_str)->getNetworks();
foreach($networks as $network)
{
     echo (string)$network."\n";
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg Куратор тега Компьютерные сети
Любые ответы на любые вопросы
Сами напишите, это же простецкая задача
-смотрите сколько на конце адреса нулевых битов -> склеиваете АДРЕС/СКОЛЬКО БИТОВ
-переворачиваете все эти биты в единички. Прибавляете 1.
-повторяете, пока не пройдете весь диапазон.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы