Разверните диапазон IPv4 или CIDR в полный список адресов с актуальным счётчиком. Полезно для правил файрвола и инвентаризации.
Превратите диапазон в список. Укажите диапазон «начало–конец» (192.168.1.1-192.168.1.20) или CIDR (10.0.0.0/28) и получите все адреса в нём с их количеством. Очень большие диапазоны ограничены ради вашего браузера. Работает локально.
Недопустимый диапазон или CIDR
–
Диапазоны свыше 10,000 адресов показывают только первые 10,000 плюс счётчик.
Превращаем диапазон в список
Два способа описать один и тот же диапазон
Блок CIDR и пара «начальный–конечный» описывают один и тот же непрерывный набор адресов, но выразительность у них разная. CIDR может представить только блок, размер которого является степенью двойки, а базовый адрес выровнен по этому размеру — 10.0.0.0/30 допустим, 10.0.0.1/30 описывает тот же блок, что и 10.0.0.0/30, поскольку младшие биты отбрасываются маской. Произвольный диапазон вроде 192.168.0.254-192.168.1.2 вообще нельзя записать одним CIDR; для этого требуется три.
Этот инструмент принимает оба формата и разворачивает любой из них в явный список. Это полезно именно тогда, когда получатель списка не понимает CIDR: списки разрешений в старых устройствах, столбцы таблиц, циклы оболочки и быстрая проверка того, что диапазон покрывает то, что вы от него ожидаете.
Почему важны граничные случаи
Распространённая ошибка самописных разворачивателей — считать адрес четырьмя независимыми числами и увеличивать только последний октет. Это работает, пока диапазон не пересечёт границу, после чего за 192.168.0.255 следует 192.168.0.256 вместо 192.168.1.0. Перевод в 32-битное целое, инкремент и обратный перевод делают перенос автоматическим — это единственный достойный подход.
Вторая ловушка — знак. В языках, где побитовые операции дают знаковое 32-битное целое, 255.255.255.255 получается равным -1, если не привести его обратно к беззнаковому. Затрагивается любой адрес старше 127.x.x.x, поэтому ошибка скрывается при тестировании, если проверять только диапазоны RFC 1918, начинающиеся с 10 или 192.
Почему вывод ограничен
Блок /8 содержит 16.7 million адресов. Представление этого в виде текста — около 250 MB, что заморозит вкладку ещё до завершения. Здесь вывод ограничен, а истинный итог сообщается отдельно, поэтому вы видите реальный размер диапазона, не заставляя браузер его отрисовывать. Если вам действительно нужно перебрать очень большой блок, делайте это потоком на сервере, а не списком в текстовом поле.
Часто задаваемые вопросы
Какие форматы ввода поддерживаются?
Либо нотация CIDR, такая как 10.0.0.0/29, либо явные начальный и конечный адреса, разделённые тире или пробелом, например 10.0.0.1 - 10.0.0.9.
Почему вывод ограничен?
Вывод всего блока /8 дал бы более шестнадцати миллионов строк и заморозил бы вкладку. Ограничение сохраняет отзывчивость страницы, а поле счётчика по-прежнему сообщает истинный размер диапазона.
Включает ли список сетевой и широковещательный адреса?
Да. Расширитель перечисляет буквально каждый адрес в диапазоне, поэтому вы получаете весь блок, а не только используемые адреса хостов.
Почему мой диапазон отклонили?
Чаще всего конечный адрес численно меньше начального. Инструмент сравнивает их как 32-битные целые, поэтому 10.0.0.5 — 10.0.0.1 не является допустимым диапазоном.
Можно ли вставить результат в правило файрвола?
Да, это обычная причина разворачивать диапазон. Большинство инструментов принимают список, разделённый переносами строк, хотя блок CIDR компактнее там, где он поддерживается.
Учитывает ли разворачивание перенос октета?
Да. Арифметика работает с 32-битным целым, поэтому диапазон, переходящий от 10.0.0.255 к 10.0.1.0, продолжается корректно.