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–адресе.