Руководство по API поиска IP для /api/ip

Используйте это руководство, чтобы отправить запрос на поиск одного IP-адреса в /api/ip, понять поля JSON, которые возвращаются, а затем перейти к рабочему процессу браузера в реальном времени, когда вам понадобится больше контекста.

/api/ip обрабатывает один общедоступный IP-адрес для каждого запроса. Здесь нет массовой конечной точки, аутентификации и гарантии безотказной работы.

Используйте это, когда
Вам нужен вывод JSON для одного поиска общедоступного IP-адреса, и вам нужен точный шаблон запроса, прежде чем автоматизировать выборку или вызов CLI.
Текущий контракт
/api/ip требует параметра запроса ip и возвращает контекст владения JSON для одного общедоступного IP-адреса за раз.
Ограждение
Недопустимые, частные или зарезервированные входные данные возвращают ошибку JSON. Эта поверхность не обещает массового поиска, аутентификации или обязательств по бесперебойной работе.
Примеры запросов и ответов
Пример загрузки браузера
Используйте простой запрос GET, когда интерфейсному интерфейсу или сценарию отладки требуется тот же ASN и сетевой контекст, который отображается при поиске в браузере.
fetch("/api/ip?ip=8.8.8.8")
  .then((response) => response.json())
  .then((data) => console.log(data));
Пример завитка CLI
Отправьте параметр запроса ip явно, если вам нужен JSON вместо простого текстового ярлыка терминала /ip.
curl https://comutil.com/api/ip?ip=8.8.8.8
Примеры полей ответа
Действующая конечная точка возвращает метаданные ASN верхнего уровня, а также вложенный сетевой объект, полученный из текущего потока поиска RDAP и WHOIS.
{
  "asn_registry": "arin",
  "asn": "15169",
  "asn_cidr": "8.8.8.0/24",
  "asn_country_code": "US",
  "asn_date": "1992-12-01",
  "asn_description": "GOOGLE, US",
  "network": {
    "name": "GOGL",
    "country": "US",
    "start_address": "8.8.8.0",
    "end_address": "8.8.8.255",
    "type": "DIRECT ALLOCATION",
    "status": "active",
    "links": []
  },
  "nir_postal_code": null,
  "nir_range": null,
  "address": "1600 Amphitheatre Parkway",
  "email_admin": "[email protected]",
  "email_tech": null
}
Сначала прочтите эти поля ответа

Прежде чем интерпретировать адрес или контактные данные, начните с полей, в которых объясняется право собственности и диапазон.

  • asn_registry, asn и asn_description сообщают вам, какой реестр и оператор вы ищете.
  • network.start_address, network.end_address и network.status показывают видимый диапазон и контекст жизненного цикла для выделения.
  • адреса, email_admin и email_tech могут помочь с примечаниями по эскалации, но они служат вспомогательной информацией, а не первым сигналом сортировки.
Границы ошибок

Это текущие ограничения активной конечной точки, поэтому следите за тем, чтобы ваша автоматизация соответствовала им.

  • Отсутствующий IP-адрес возвращает {"error": "IP address is required."}.
  • Частные или зарезервированные адреса возвращают ошибку JSON вместо данных об общедоступной собственности.
  • Неверный ввод возвращает ошибку JSON, объясняющую неверный формат IP.
Когда следует покинуть поверхность документации API

Используйте маршрут документации, чтобы понять контракт, а затем переходите к рабочему процессу в браузере, когда вам нужен более обширный контекст расследования или общедоступная страница поиска.

  • Откройте /ip, если вам нужен пользовательский интерфейс браузера, общий URL-адрес, карта и сводка расследования для одного и того же поиска.
  • Прочтите руководство по IP и ASN, если вам понадобится структура рабочего процесса, а не только поля JSON.
  • Вернитесь в раздел «Сеть/безопасность», когда вопрос расширится до владения доменом или области CIDR.