WHOIS

Мушоку Тенсей скриншот

WHOIS (от англ. who is — «кто это?») — сетевой протокол прикладного уровня, используемый для получения регистрационных данных о владельцах доменных имён, IP–адресов и автономных систем. Протокол базируется на TCP (порт 43) и следует архитектуре «клиент–сервер». WHOIS обеспечивает доступ к публичным серверам баз данных регистраторов IP-адресов и доменных имён. Текущая версия протокола описана в RFC 3912. Изначально создан для поиска контактной информации системных администраторов. WHOIS–клиенты реализуются в виде консольных программ, веб–форм и приложений с графическим интерфейсом. Существует аналог WHOIS — стандарт протокола RWhois.

Централизованная и распределённая модели

WHOIS–инфраструктура реализуется посредством двух фундаментальных архитектурных подходов: консолидированного и децентрализованного. Эти модели отличаются методами аккумуляции и дистрибуции данных.

Консолидированная архитектура базируется на едином WHOIS–сервере, аккумулирующем исчерпывающий массив информации. Данный сервер обрабатывает все запросы, относящиеся ко всем регистраторам в рамках конкретной зоны. Иллюстрацией применения консолидированной модели выступают WHOIS–серверы зон .org и .ru. Ключевое преимущество этого подхода — оперативность получения сведений и консистентность ответов.

Децентрализованная архитектура функционирует на базе центрального WHOIS–сервера, не содержащего полного объёма данных. Его роль заключается в маршрутизации пользовательских запросов на WHOIS–серверы соответствующих регистраторов. Эта концепция реализована, в частности, для зоны .com. При взаимодействии с децентрализованной системой WHOIS–клиент должен обладать способностью интерпретировать перенаправление и автономно обращаться к релевантному периферийному WHOIS–серверу. При отсутствии данной функциональности пользователь вынужден осуществлять этот процесс в ручном режиме.

Селекция конкретной имплементации хранилища регистрационных записей определяется политикой регистратора. Ряд доменов верхнего уровня, включая .com и .net, применяют децентрализованную структуру. Это предоставляет регистраторам возможность инкорпорировать в записи нестандартизированную информацию о своих клиентах. Альтернативно, некоторые доменные реестры, например .org, придерживаются централизованного подхода к хранению данных.

Существенно, что сам протокол WHOIS не предусматривает дифференциации между консолидированной и децентрализованной моделями. Следовательно, с позиции конечного пользователя, процедура запроса информации может казаться идентичной для обеих архитектурных парадигм[1].

Интернационализация протокола

При первоначальной разработке протокола WHOIS не была предусмотрена поддержка многоязычности, что обусловило его ограниченность кодировкой ASCII. Это техническое решение впоследствии породило сложности при оперировании доменными именами и зонами, использующими символы национальных алфавитов. Спецификация WHOIS не содержит директив относительно кодировки клиентских запросов и серверных ответов, что вносит элемент неопределённости в процесс информационного обмена.

Для преодоления данного лингвистического барьера был создан инновационный метод кодирования — punycode. Этот алгоритм позволяет трансформировать символы различных национальных письменностей в эквивалентные последовательности ASCII–символов. Такой подход обеспечивает адекватную интерпретацию интернационализированных доменных имён в рамках системы WHOIS.

Применение punycode позволяет конвертировать доменные имена, записанные с использованием национальных языков, в формат, полностью совместимый с оригинальной версией протокола WHOIS. При этом сохраняется возможность их функционирования в локализованном представлении. Таким образом, punycode выступает в роли «лингвистического моста», обеспечивающего взаимодействие между многоязычным веб–пространством и технически ограниченной системой WHOIS[2].

Примеры

Запрос о доменном имени

WHOIS-запрос о доменном имени позволяет получить информацию о его регистрации. Пример команды для запроса:

$> whois znanierussia.ru

Ответ содержит следующие ключевые данные:

  • Идентификатор домена (Domain ID).
  • Дата создания и истечения срока регистрации.
  • Регистратор домена.
  • Статус домена.
  • Контактная информация владельца, администратора и технического специалиста.
  • DNS–серверы домена[3].

Для получения актуальных данных рекомендуется использовать официальный WHOIS-сервер для соответствующей доменной зоны. Например:

$> whois -h whois.pir.ru znanierussia.ru

Запрос об IP–адресе

WHOIS–запрос об IP–адресе предоставляет информацию о его принадлежности и регистрации. Пример команды для запроса:

$> whois 207.142.131.202

Ответ включает следующую информацию:

  • Диапазон IP–адресов (NetRange).
  • CIDR–нотация.
  • Название сети (NetName).
  • Тип выделения адресов.
  • Дата регистрации и обновления информации.
  • Организация–владелец.
  • Контактная информация для обращений по поводу злоупотреблений (Abuse).
  • Контактная информация технической поддержки[3].

WHOIS–серверы могут предоставлять ссылки на дополнительные ресурсы для получения более подробной информации об IP–адресе.

Примечания