WHOIS (произносится «ху из») — это протокол и публичная база данных, которая хранит информацию о регистрации доменных имён и IP-адресов. Впервые описан в RFC 812 ещё в 1982 году и до сих пор является основным инструментом идентификации владельцев доменов.
Что хранится в WHOIS-записи
| Поле | Описание | Пример |
|---|---|---|
| Domain Name | Доменное имя | example.com |
| Registrar | Регистратор домена | ZevsHost, GoDaddy |
| Registration Date | Дата первичной регистрации | 2010-05-14 |
| Expiry Date | Дата истечения срока | 2027-05-14 |
| Name Servers | NS-серверы домена | ns1.zevshost.net |
| Registrant | Владелец домена | Скрыто при Privacy Protection |
| Status | Статус домена | clientTransferProhibited |
Зачем нужен WHOIS
- Проверка свободности домена — убедиться, что домен не занят перед покупкой
- Идентификация владельца — найти контакт для переговоров о покупке
- Abuse-жалобы — сообщить о спаме или фишинге с домена
- Юридические расследования — установить ответственных за нарушения
- SEO-аудит — проверить возраст и историю домена перед покупкой
Статусы домена в WHOIS
Каждый домен имеет один или несколько статусов ICANN:
| Статус | Значение |
|---|---|
| clientTransferProhibited | Перенос заблокирован регистратором |
| clientDeleteProhibited | Удаление заблокировано |
| clientUpdateProhibited | Изменения заблокированы |
| pendingDelete | Домен готовится к удалению |
| redemptionPeriod | Период выкупа (30 дней после истечения) |
| ok | Активен, нет ограничений |
Как выполнить WHOIS-запрос
Через командную строку Linux/macOS:
whois example.com
Через онлайн-сервисы:
- who.is — универсальный
- lookup.icann.org — официальный ICANN
- whois.domaintools.com — с историей
WHOIS и GDPR
После вступления в силу GDPR в 2018 году регистраторы из ЕС обязаны скрывать персональные данные владельцев. Поэтому сегодня большинство записей WHOIS показывают анонимизированные данные или сведения регистратора вместо личных контактов.
Частые ошибки и непонятные ответы WHOIS
No match for domain "EXAMPLE.COM"
Connection timed out; No response from server
Query rate limit exceeded
Domain Status: clientHold
| Ответ | Что означает | Что делать |
|---|---|---|
| No match for domain | Домен реально свободен, либо запрос ушёл не к тому серверу — например, запрошен .com через whois-сервер зоны .ua | Проверить, что используется правильный сервер зоны, либо считать домен свободным для регистрации |
| Connection timed out; No response from server | Локальный файрвол блокирует исходящий TCP-порт 43 (стандартный порт протокола WHOIS) | Открыть порт 43 исходящим или воспользоваться веб-интерфейсом регистратора вместо консольной команды |
| Query rate limit exceeded | С одного IP отправлено слишком много WHOIS-запросов за короткое время — у большинства whois-серверов есть троттлинг | Сделать паузу между запросами или использовать официальный API регистратора вместо массового опроса |
| Domain Status: clientHold | Регистратор приостановил делегирование домена — обычно из-за неоплаты или нарушения правил использования | Владельцу домена нужно обратиться к своему регистратору — статус снимается только им, а не автоматически |
WHOIS, RDAP и панель регистратора: сравнение источников
| Источник | Формат ответа | Когда использовать |
|---|---|---|
| Классический WHOIS (порт 43) | Неструктурированный текст, формат различается у разных TLD | Быстрая ручная проверка через консоль |
| RDAP (Registration Data Access Protocol) | Структурированный JSON, единый формат для всех поддерживающих реестров | Автоматизация, скрипты, массовая проверка доменов |
| Личный кабинет регистратора | Готовый интерфейс с реальными (не приватными) данными по своим доменам | Проверка и редактирование контактов собственного домена |
Когда WHOIS не даёт ответа, который нужен
- Домен использует Privacy Protection — реальные контакты владельца скрыты, и WHOIS покажет только данные сервиса приватности, а не человека или компанию
- Нужны исторические записи о смене владельца — обычный WHOIS отдаёт только текущий снимок, для истории нужны архивные сервисы вроде DomainTools
- Домен в национальной зоне со своим форматом ответа (не RDAP-совместимой) — автоматический парсинг ответа под одну зону может не сработать для другой без доработки
- Требуется юридически значимое подтверждение владения для суда — WHOIS-выписка сама по себе обычно не принимается как единственное доказательство, нужен официальный запрос к регистратору
Как проверить корректность WHOIS-ответа
# Классический запрос
whois example.com
# Через RDAP — структурированный JSON вместо текста
curl -s https://rdap.org/domain/example.com | python3 -m json.tool
# Сверить дату истечения из обоих источников
whois example.com | grep -i "expir"
- Сверьте поле Registrar с тем регистратором, у которого домен реально куплен — расхождение бывает после переноса домена, который ещё не завершился
- Проверьте, что Expiry Date совпадает с датой, указанной в личном кабинете регистратора
- Если WHOIS показывает данные Privacy Protection, а нужны реальные контакты, отправьте запрос напрямую регистратору — abuse-обращения обрабатывают именно так
- Для автоматизированных проверок сверьте ответ RDAP с классическим WHOIS — расхождение в статусах домена означает, что кэш одного из источников устарел
Что происходит с доменом после истечения срока и как не потерять его, разбирает статья продление домена, а перенос домена между регистраторами — материал перенос домена: инструкция. Сама защита персональных данных в WHOIS через Privacy Protection описана в статье WHOIS Privacy Protection.