Перевірка WHOIS — стандартна процедура під час купівлі домену, аналізу конкурентів або розслідування порушень. Розглянемо всі доступні способи.
1. Командний рядок (Linux/macOS/Windows)
# Базовий запит
whois example.com
# Через конкретний WHOIS-сервер
whois -h whois.verisign-grs.com example.com
# Лише основні поля (grep)
whois example.com | grep -i "registrar\|expir\|creat\|name server"
2. Онлайн-сервіси WHOIS
| Сервіс | Особливості | URL |
|---|---|---|
| ICANN Lookup | Офіційний, усі TLD | lookup.icann.org |
| who.is | Зручний інтерфейс | who.is |
| DomainTools | Історія WHOIS, зворотний пошук | whois.domaintools.com |
| SecurityTrails | Історичні дані, DNS | securitytrails.com |
| Whoxy | WHOIS API, bulk-запити | whoxy.com |
3. WHOIS API для розробників
# Приклад через curl (whoisxmlapi.com)
curl "https://www.whoisxmlapi.com/whoisserver/WhoisService?
apiKey=YOUR_KEY&domainName=example.com&outputFormat=JSON"
Як читати WHOIS-відповідь
Приклад відповіді та її розшифровка:
Domain Name: EXAMPLE.COM
Registrar: Example Registrar, Inc.
Updated Date: 2023-08-01T12:00:00Z # Остання зміна
Creation Date: 2010-05-14T00:00:00Z # Перша реєстрація
Registry Expiry Date: 2027-05-14T... # Спливає
Name Server: NS1.REGISTRAR.COM # DNS-сервери
DNSSEC: unsigned # Без DNSSEC
Status: clientTransferProhibited
Перевірка історії домену
Перед купівлею вживаного домену важливо перевірити його історію:
- DomainTools Whois History — повна історія власників
- Archive.org Wayback Machine — що було на домені раніше
- Google: site:example.com — що Google знає про домен
- Ahrefs/Semrush — зворотні посилання та SEO-історія
Типові помилки WHOIS-запиту
| Повідомлення | Причина | Що робити |
|---|---|---|
| No match for domain "EXAMPLE.COM" | Домен вільний або щойно зареєстрований і ще не потрапив до бази (затримка до 24 годин) | Зачекайте добу і повторіть запит, або перевірте статус на сайті реєстратора |
| whois: connect: Connection refused | Локально не встановлено пакет whois, або провайдер блокує вихідний порт 43 | Встановіть пакет: apt install whois, або скористайтеся онлайн-сервісом замість консолі |
| Query limit exceeded (WHOIS API) | Перевищено ліміт безкоштовних запитів обраного WHOIS API за добу чи місяць | Зачекайте на скидання ліміту або перейдіть на платний тариф API |
| Порожня відповідь для доменів .ua | Реєстр .ua — «тонкий» (thin), повні контактні дані зберігає реєстратор, а не центральний WHOIS | Запитайте дані напряму на сайті реєстратора, у якого куплено домен |
| Тимчасове блокування за частих запитів | Публічні WHOIS-сервери обмежують кількість запитів з однієї IP-адреси за одиницю часу | Робіть паузи між запитами або скористайтеся платним WHOIS API з вищим лімітом |
Порівняння WHOIS і RDAP
| Параметр | WHOIS | RDAP |
|---|---|---|
| Формат відповіді | Довільний текст (порт 43) | Структурований JSON (через HTTPS) |
| Машиночитаність | Низька, потрібен окремий парсер під кожен TLD | Висока, єдиний формат для всіх реєстраторів |
| Підтримка доменних зон | Практично всі TLD, включно зі старими | Список, що зростає, не всі TLD ще перейшли на RDAP |
Коли WHOIS не дає відповіді
- Домен захищений сервісом WHOIS Privacy — замість реальних даних власника видно контакти проксі-сервісу реєстратора
- Зона .ua використовує «тонку» модель WHOIS — контактні дані зберігає не центральний реєстр, а конкретний реєстратор
- Домен зареєстровано буквально щойно — дані ще не реплікувалися до публічної бази WHOIS
- Хостинг або мережа провайдера блокує вихідні запити на порт 43 — тоді працює лише вебінтерфейс, але не консольна команда
Загальний розбір усіх полів і термінів WHOIS — у статті «Що таке WHOIS: повний довідник». Якщо WHOIS потрібен для перевірки перед купівлею зайнятого домену, порядок трансферу описано у статті «Трансфер домену: покрокова інструкція з перенесення».
Перевірка результату
Переконайтеся, що дані отримано коректно і вони стосуються потрібного домену:
# Звірити домен у відповіді із запитаним (захист від помилки)
whois example.com | grep -i "domain name"
# Альтернативний протокол RDAP — якщо WHOIS не відповідає
curl -s "https://rdap.org/domain/example.com" | grep -i "ldhName"
# Перевірити, що домен реально делегований (інакше WHOIS може хибно показувати статус)
dig NS example.com +short
Якщо дані власника знадобляться для оформлення домену на компанію, процес описано у статті «Реєстрація домену на юридичну особу: документи».
Часті питання
Чи можна звʼязатися зі справжнім власником домену, якщо його дані приховано сервісом WHOIS Privacy?
Напряму — зазвичай ні: замість справжніх контактів у відповіді показано дані проксі-сервісу реєстратора, а не самого власника. Звʼязатися вдається лише через форму чи пошту, яку надає цей проксі-сервіс, і повідомлення доходить до власника вже в переправленому вигляді. Справжні контакти розкриває реєстратор лише за офіційним запитом, а не за звичайним зверненням сторонньої людини.
Чи лишається дата першої реєстрації домену (Creation Date) незмінною під час зміни власника?
Так, за звичайного переходу домену до нового власника поле Creation Date зберігає початкову дату першої реєстрації, а не обнуляється знову — домен просто продовжує відлік свого віку. Це зручно під час оцінки «віку» домену перед купівлею, але саме собою нічого не каже про репутацію: для повної картини варто окремо дивитися історію власників і вмісту через сервіси на кшталт DomainTools.
Чи варто у власному скрипті використовувати RDAP замість звичайного WHOIS-запиту?
Якщо потрібна саме автоматична обробка відповіді в коді, RDAP зручніший: відповідь приходить структурованим JSON замість довільного тексту, який доводиться розбирати окремим парсером під кожну доменну зону. Але не всі зони вже перейшли на RDAP, тому для максимального покриття доменів скрипту іноді доводиться підтримувати обидва протоколи паралельно, а не обирати лише один із них.
Що робити, якщо команда whois у терміналі взагалі не знаходиться?
Найчастіше причина в тому, що відповідний пакет просто не встановлено в системі — на більшості дистрибутивів Linux його можна поставити штатним менеджером пакетів однією командою. Якщо після встановлення помилка зберігається, варто додатково перевірити, чи не блокує мережа провайдера вихідні звернення на потрібний порт, і в такому разі скористатися вебсервісом замість консолі.