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.