Знает кто хорошую библиотеку для конвертации диапазона 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

27 Окт 2020 в 19:48
218 +1
0
Ответы
1

Можно использовать библиотеку IPTools для PHP, которая содержит функции для манипуляции с IP адресами. Вот пример использования:

require_once 'vendor/autoload.php'; // Подключаем автозагрузчик composer
use IPTOOLS\IPTools;
$ip_range = '10.0.23.40-10.0.25.241';
$cidr_list = IPTools::iptocidr($ip_range);
foreach ($cidr_list as $cidr) {
echo $cidr . "\n";
}

Установите библиотеку IPTools с помощью Composer:

composer require ip2location/ip-tools

Этот код разделит указанный диапазон IP адресов на подсети CIDR и выведет список CIDR-ов.

17 Апр 2024 в 22:31
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир