Выбирайте правильный тип случайных IP
| Тип | IPv4 | IPv6 | Для чего использовать |
|---|---|---|---|
| Публичные | Все адреса за пределами блоков специального назначения | Глобальные уникастные 2000::/3 без блоков специального назначения | Тестирование парсинга IP, геолокации, лимитов запросов (rate limiting) и анализа логов |
| Приватные | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 (RFC 1918) | fd00::/8 уникальные локальные (RFC 4193) | Конфигурации LAN и VPC, сети Docker и Kubernetes |
| Для документации | 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 (RFC 5737) | 2001:db8::/32 (RFC 3849) и 3fff::/20 (RFC 9637) | Документация, руководства, скриншоты, фикстуры для тестов |
| Провайдерский NAT | 100.64.0.0/10 (RFC 6598) | — | Тестирование сценариев операторов связи и мобильных сетей |
| Loopback | 127.0.0.0/8 | ::1 | Локальные сервисы и списки разрешённых адресов |
| Link-local | 169.254.0.0/16 | fe80::/10 | Автоконфигурация при отсутствии ответа от DHCP-сервера |
Для IPv4 публичный вариант исключает все блоки специального назначения из реестра IANA: «эту сеть» (0.0.0.0/8), приватные диапазоны, CGNAT, loopback, link-local, служебные назначения IETF (192.0.0.0/24), документацию, устаревший ретранслятор 6to4 (192.88.99.0/24), диапазон для тестирования (198.18.0.0/15), multicast (224.0.0.0/4), зарезервированные адреса (240.0.0.0/4) и broadcast. Для IPv6 генератор остаётся в пределах глобальных адресов 2000::/3, исключая назначения IETF 2001::/23 (включая Teredo), оба диапазона документации 2001:db8::/32 и 3fff::/20, а также 2002::/16 (6to4). Учтите, что большая часть блока 2000::/3 ещё никому не выделена, поэтому случайные адреса IPv6 реалистичны по формату, но не по географическому распределению.
Адреса для документации: безопасный выбор по умолчанию
Если вам нужны IP-адреса для файлов README, примеров вызовов API, статей в блоге или модульных тестов, используйте диапазоны документации. Они созданы специально для этого и никогда не маршрутизируются в интернете, поэтому ваш пример гарантированно не укажет на чей-то реальный сервер. Для IPv6 сейчас существует два диапазона: классический 2001:db8::/32 и значительно больший 3fff::/20 (RFC 9637), утверждённый в 2024 году, который позволяет описывать масштабные распределённые сети. Случайные публичные адреса, напротив, могут принадлежать настоящим компьютерам: относитесь к ним исключительно как к тестовым данным для парсеров и аналитики, но никогда не сканируйте их и не подключайтесь к ним.
Генерация адресов внутри подсети
Выберите вариант Внутри подсети и укажите диапазон, например 10.20.0.0/16, 192.168.1.0/24 или для IPv6 2001:db8:abcd::/48, чтобы получить адреса из конкретной сети — для инвентаризации, настройки правил брандмауэра или заполнения таблицы аренды DHCP. Подсеть /24 содержит 256 адресов (из них 254 доступны хостам), а /16 — 65 536 адресов; если запросить больше хостов, чем доступно в подсети, каждый адрес будет сгенерирован ровно один раз. Опция Только доступные хосты (включена по умолчанию) исключает адрес сети и широковещательный адрес для подсетей IPv4 размером до /30. Для сортировки по возрастанию отметьте Сортировать.
Сценарии использования
- Ограничение частоты запросов (rate limiting) и защита от спама: отправка запросов от сотен уникальных IP-клиентов для проверки работы лимитов на каждый отдельный адрес.
- Фикстуры для гео-IP и систем аналитики: передача публичных адресов в модули определения локации и дашборды (для публичных отчётов и документации используйте адреса документации).
- Тестирование брандмауэров и списков доступа (allowlist): генерация адресов внутри и вне блоков CIDR для проверки точности срабатывания сетевых правил.
- Анонимизация логов: замена реальных клиентских адресов в общедоступных логах безопасными адресами документации с сохранением структуры.
Как устроен генератор
Каждый адрес генерируется с помощью криптографически стойкого генератора случайных чисел в вашем браузере (crypto.getRandomValues). Для публичных адресов IPv4 алгоритм выбирает равномерно распределённое 32-битное число и генерирует его заново, если оно попадает в служебный диапазон, поэтому вероятность выпадения любого публичного адреса одинакова. Для подсетей и IPv6 генератор берёт фиксированный сетевой префикс и случайным образом заполняет биты хоста. Дубликаты автоматически исключаются, и никакие данные не отправляются на сервер. Пример реализации такой логики в коде:
# Python: один случайный публичный IPv4-адрес
import ipaddress, secrets
while not (ip := ipaddress.IPv4Address(secrets.randbits(32))).is_global:
pass
# Python: случайный хост в подсети
net = ipaddress.ip_network("10.20.0.0/16")
host = net[1 + secrets.randbelow(net.num_addresses - 2)]
// JavaScript (браузер или Node 19+): случайный IPv4-адрес
const ip = Array.from(crypto.getRandomValues(new Uint8Array(4))).join(".");
Частые вопросы
Являются ли сгенерированные случайные IP реальными?
Случайные публичные адреса валидны и могут принадлежать действующим устройствам в сети. Их безопасно использовать для тестирования парсеров или аналитики, но не следует сканировать их, отправлять на них трафик или публиковать в открытых примерах. Диапазоны для документации, приватные и петлевые адреса никогда не ведут к чужим реальным серверам.
Может ли генератор случайных IP скрыть или изменить мой реальный IP?
Нет. Генерация адресов на странице никак не влияет на параметры вашего интернет-соединения; сайты по-прежнему видят ваш настоящий IP. Для скрытия адреса используются VPN, прокси-серверы или Tor. Отправка пакетов с поддельным исходным адресом (IP spoofing) также не работает для обычного веб-трафика, поскольку ответы будут приходить на поддельный адрес.
Какие IP-адреса следует использовать в примерах и документации?
Используйте 192.0.2.0/24, 198.51.100.0/24 или 203.0.113.0/24 для IPv4, а также 2001:db8::/32 или 3fff::/20 для IPv6. Не используйте вымышленные адреса вроде 1.2.3.4, так как они выделены реальным организациям.
Что такое классы IP-адресов от A до E?
Это историческое деление по первому октету, действовавшее до 1993 года: A (0–127), B (128–191), C (192–223), D (224–239, multicast) и E (240–255, зарезервированные). Технология бесклассовой адресации CIDR давно заменила классы, поэтому класс ничего не говорит о фактическом размере сети, но инструмент отображает его для совместимости со старыми материалами и учебными программами.
Подходит ли этот инструмент для автоматического назначения IP-адресов устройствам?
Нет. Реальные устройства получают адреса через DHCP или вручную из параметров локальной сети. Этот инструмент генерирует данные для тестов, документации и конфигурационных шаблонов. Для планирования сети используйте генерацию внутри подсети — она наглядно показывает случайные адреса в рамках заданного блока.
Можно ли добавить порты или изменить формат вывода?
Да. Отметьте чекбокс Добавить случайный порт для получения пар адрес:порт (для IPv6 — [адрес]:порт) и выберите нужный формат: по одному на строку, через запятую или пробел, в виде массива JSON или списка строк для SQL-запросов.