Инструменты для массовых списков IP
Вставьте ниже список IP-адресов или CIDR-блоков, чтобы удалить дубликаты, отсортировать его по числовому значению, агрегировать в минимальный набор CIDR-блоков, развернуть CIDR-блок в отдельные адреса, сравнить со вторым списком или отфильтровать приватные и богон-адреса — пять из этих шести операций работают полностью в браузере без единого сетевого запроса.
Насколько это приватно?
Дедупликация, числовая сортировка, агрегация в CIDR, разворот CIDR и сравнение двух списков — полностью локальные операции: всё, что вы вставляете сюда для этих пяти операций, обрабатывается только в вашем браузере и никуда не отправляется. Локальная классификация фильтра (приватный / богон / глобально маршрутизируемый) по умолчанию работает так же.
У операции фильтрации есть один необязательный дополнительный шаг: живая проверка по более свежим данным о нераспределённом адресном пространстве. Она запускается только после явного нажатия кнопки подтверждения под результатами фильтра, и даже тогда отправляет только конкретные проверяемые адреса — никогда ничего другого со страницы — и получает в ответ лишь признак богонности/нераспределённости для каждого.
Игнорируется
строк(и), не являющихся валидным IP-адресом или CIDR-блоком:
Обработаны только первые строк — обрежьте ввод, чтобы обработать остальное.
Не удалось обработать:
Проверить по свежим данным о нераспределённом пространстве?
Это отправит на наш сервер адреса, показанные выше (и ничего больше со страницы), и вернёт для каждого только признак богонности/нераспределённости — без геолокации, ASN и любых других данных. Ничего не отправляется, пока вы не нажмёте кнопку ниже.
Будет отправлено адрес(ов) на наш сервер.
Проверка…
Результат
Показано из записей
В таблице показаны только эти строки — чтобы получить всё, скопируйте результат.
Всего адресов в этом развороте:
| Адрес / CIDR-блок |
|---|
| Адрес / CIDR-блок | В каком списке |
|---|---|
| Адрес / CIDR-блок | Классификация | Источник |
|---|---|---|
Инструменты для массовых списков IP
Каждая операция на этой странице работает со вставленным списком IP-адресов и CIDR-блоков, а не с одним адресом за раз. Самая частая ошибка похожих инструментов — сортировать такой список как обычный текст: по алфавиту «10.0.0.10» окажется раньше «10.0.0.2», потому что символ «1» меньше символа «2», хотя численно 10.0.0.2 меньше. Операция сортировки на этой странице всегда сравнивает 32-битное (IPv4) или 128-битное (IPv6) числовое значение каждого адреса, поэтому список 10.0.0.2, 10.0.0.10, 10.0.0.100 возвращается в порядке, которого реально ожидает сетевой инженер, а не в лексикографическом порядке наивной строковой сортировки.
Дедупликация убирает точные повторы после нормализации каждой записи: IPv6-адрес, записанный двумя разными способами (2001:db8::1 и его полная развёрнутая форма), распознаётся как один и тот же адрес и остаётся только один раз. Агрегация идёт дальше и схлопывает список CIDR-блоков (или обычных адресов, воспринимаемых как собственные /32 или /128) в минимальный эквивалентный набор, объединяя любую смежную или пересекающуюся пару — так 10.0.0.0/25 и 10.0.0.128/25 становятся 10.0.0.0/24. Это тот же принцип агрегации маршрутов, которым пользуется маршрутизатор или файрвол, чтобы держать ACL или таблицу маршрутов компактной: меньше, но более крупных записей быстрее обрабатывать и проще проверять, чем то же адресное пространство, расписанное множеством мелких блоков.
Разворот CIDR работает в обратную сторону: перечисляет каждый отдельный адрес внутри блока — полезно для инструментов, которые понимают только плоские списки адресов. Поскольку /8 разворачивается более чем в 16 миллионов строк, разворот сначала проверяет итоговое количество и только потом (если оно укладывается в лимит) начинает генерацию, а не зависает на середине пути. Операция сравнения сопоставляет два вставленных списка — частый вопрос «что изменилось между двумя снапшотами» — и возвращает классическое трёхстороннее разбиение: адреса только в первом списке, только во втором и присутствующие в обоих, что обычно полезнее единственного ответа «равны/не равны» при аудите набора правил файрвола или allow-листа со временем.
Операция фильтрации классифицирует каждый адрес как приватный (пространство RFC 1918 вроде 10.0.0.0/8), богон (зарезервированные диапазоны, которые никогда не должны появляться в публичном интернете, например 0.0.0.0/8 или документационный диапазон IPv6 2001:db8::/32) или глобально маршрутизируемый. По умолчанию эта классификация полностью локальна: она работает в браузере по небольшой фиксированной таблице, сгенерированной прямо из кода классификации IP этого же сервиса, поэтому работает мгновенно без единого сетевого запроса, даже офлайн. Есть второй, необязательный уровень — для адресов, которые локально классифицируются как глобально маршрутизируемые, но на деле могут оказаться нераспределённым пространством, которое региональные интернет-регистратуры ещё не выделили; полный набор данных о нераспределённом пространстве весит несколько мегабайт, и эта страница намеренно не отдаёт его в браузер бесплатно. Вместо этого, если вы явно согласитесь, именно проверяемые адреса — никогда не весь список, только ещё не известные — отправляются на наш сервер небольшими пакетами, и в ответ мы возвращаем только признак «богон/нераспределён» по каждому, без геолокации, ASN и данных об угрозах. Такой запрос происходит только после нажатия кнопки подтверждения под результатами фильтра; само переключение на вкладку фильтра или ввод текста в список сервер не затрагивает.
Приватность — причина, по которой эта страница сделана клиентским инструментом, а не формой, отправляющей ваш список на сервер: дедупликация, сортировка, агрегация, разворот и сравнение списка IP-адресов — часто это список клиентов, лог атакующих или карта внутренней сети — никогда не покидают браузер ни для одной из этих пяти операций, и локальная классификация фильтра тоже. Единственное исключение сделано опциональным и узким намеренно, описано выше и повторено простыми словами прямо рядом с кнопкой подтверждения, чтобы вы всегда точно знали, что именно будет отправлено, прежде чем это произойдёт.
Глоссарий
- Дедупликация
- Удаление повторяющихся записей из списка после нормализации каждой к каноническому текстовому виду, так что два разных текстовых написания одного адреса распознаются как одно.
- Числовая сортировка IP
- Упорядочивание адресов по их реальному 32-битному (IPv4) или 128-битному (IPv6) числовому значению, а не как обычного текста — единственный порядок, где 10.0.0.2 идёт раньше 10.0.0.10.
- Агрегация CIDR
- Схлопывание списка CIDR-блоков в минимальный эквивалентный набор путём объединения любой смежной или пересекающейся пары, без изменения того, какие адреса покрыты.
- Богон-адрес
- Адрес из зарезервированного диапазона, который никогда не должен встречаться как реальный источник или назначение в публичном интернете — loopback, link-local, multicast или документационный диапазон вроде 2001:db8::/32.
- Приватный адрес
- Адрес из одного из диапазонов, зарезервированных RFC 1918 (и его аналогом для IPv6 — RFC 4193) для внутренних сетей — никогда не маршрутизируется в публичном интернете, но обычен за NAT.
- Нераспределённое адресное пространство
- Диапазон адресов, внешне выглядящих как обычное глобально маршрутизируемое пространство, который региональные интернет-регистратуры ещё никому не выделили — обнаруживается только по живому, регулярно обновляемому набору данных, а не по статической таблице.
Часто задаваемые вопросы
- Почему сортировка числовая, а не по алфавиту?
- Потому что сортировка IP-адресов как обычного текста даёт неверный порядок: по алфавиту 10.0.0.10 окажется раньше 10.0.0.2, так как символ «1» идёт раньше символа «2». Этот инструмент всегда сравнивает реальное 32- или 128-битное числовое значение каждого адреса, поэтому 10.0.0.2 корректно идёт раньше 10.0.0.10.
- Чем приватный адрес отличается от богон-адреса?
- Приватные адреса (RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, и их аналог для IPv6 fc00::/7) зарезервированы для внутренних сетей и ожидаемо встречаются за NAT. Богон-адреса — более широкий зарезервированный набор, который вообще не должен появляться как источник или назначение в публичном интернете — среди них loopback, link-local, multicast и документационные диапазоны вроде 2001:db8::/32. Оба типа помечаются операцией фильтрации с указанием конкретной причины для каждого адреса.
- Безопасно ли вставлять сюда внутренний список IP или список клиентов?
- Для всех операций, кроме необязательной живой проверки фильтра, — да: дедупликация, числовая сортировка, агрегация, разворот CIDR и сравнение работают полностью в браузере и никогда никуда не отправляют ваш список. Единственное исключение — необязательная живая проверка фильтра, которая запускается только после явного нажатия её кнопки подтверждения и отправляет только конкретно проверяемые адреса, получая в ответ лишь признак богонности/нераспределённости.
- Что будет, если вставить очень большой список?
- Ввод ограничен фиксированным числом строк; при превышении показывается предупреждение и обрабатываются только первые строки, поэтому вкладка не зависает, пытаясь разобрать неограниченный список. У разворота CIDR свой, более тесный лимит, проверяемый до генерации хоть одного адреса, поскольку один блок /8 разворачивается более чем в 16 миллионов строк.
- Обращается ли операция фильтрации к серверу автоматически?
- Нет. Переключение на вкладку фильтра или редактирование списка при выбранной вкладке фильтра запускает только локальную офлайн-классификацию. Живая проверка, добавляющая более свежие данные о нераспределённом пространстве, — отдельное явное действие: требует нажатия собственной кнопки подтверждения, прямо сообщающей, что ваши адреса будут отправлены.
- Чем эта страница отличается от платного массового API по IP?
- Живая проверка на этой странице отвечает на один узкий вопрос — богон, нераспределён или нет — для пакета адресов и не возвращает ничего больше. Наш платный API умеет обогащать список полной геолокацией, ASN и данными об угрозах для каждого адреса под реальный B2B-сценарий массового поиска — см. страницу бизнес-API.
Эквивалент через API
Все операции на этой странице работают полностью в браузере, кроме необязательной живой проверки фильтра. Для получения полных сетевых/регистрационных данных по одному адресу на стороне сервера наш основной API возвращает тот же тип данных, что фильтр этой страницы классифицирует локально:
curl "https://ip.xakki.pro/api/v1/ip?ip=8.8.8.8&include=network"
Пример ответа (сокращённо):
{
"schemaVersion": 15,
"status": "ok",
"ip": "8.8.8.8",
"version": 4,
"flags": {
"isPrivate": false,
"isBogon": false,
"isUnassigned": false
}
}
Что реально отправляет живая проверка фильтра
Единственный запрос, который эта страница может сделать, и только после нажатия кнопки подтверждения, — это прямой вызов того же пакетного эндпоинта, что и выше:
curl -X POST "https://ip.xakki.pro/api/v1/tools/bogon-check" \
-H "Content-Type: application/json" \
-d '{"ips":["8.8.8.8","203.0.113.5"]}'
{
"results": [
{ "ip": "8.8.8.8", "unassigned": false, "class": "global" },
{ "ip": "203.0.113.5", "unassigned": true, "class": "bogon" }
]
}
Для реального массового обогащения списка полной геолокацией, ASN и данными об угрозах по каждому адресу — см. страницу бизнес-API; живая проверка этой страницы намеренно возвращает только признак богонности/нераспределённости и ничего больше.
Читать полную документацию по API Бизнес-API для массовых IP
Понравился инструмент? Бесплатный аккаунт нашего API даёт 1000 запросов в день.Смотреть документацию API →