Блог

Domain registration lookup whois

Аналог утилит nslookup и dnsdig для Android. Ulf Dittmer. IP Инструменты - Сетевые утилиты. AppWorld Infotech. Визуальный Traceroute. Intrace - Быстрый и мощный визуальный traceroute для. Network Scanner. First Row. IP discover, Port scanner, а так же ip calculator и dns resolver. Соединенные Штаты Язык: Русский Приобретая этот продукт, вы совершаете транзакцию в Google Payments и соглашаетесь с Условиями использования и Примечанием о конфиденциальности Google Payments.

Moscow address: Russian Federation contact: RU domain Administrative group organisation: Russian Federation phone: Technical Center of Internet organisation: Technical Center of Internet address: NET Registration information: IANA Обратим внимание на следующие строки: Для большинства доменов верхнего уровня IANA возвращает вполне актуальное название whois сервера.

Я специально проверял изменения в Ruby Whois за несколько последних месяцев, и все они были взяты именно с whois. В моем модуле я кэширую результат с IANA на 24 часа на больший промежуток времени особого смысла нет, да и данные могут поменяться. Несмотря на все сказанное выше, для некоторых доменов верхнего уровня IANA информацию о whois серверах почему-то не предоставляет. Возможно, регистраторы некоторых стран специально их не афишируют. Но не страшно, у нас есть и другие способы.

Если присмотреться, для очень многих доменов верхнего уровня названия их whois серверов выглядят или как whois. Таким образом, если IANA нам ничего не вернула, для любого домена верхнего уровня мы легко получаем названия двух потенциальных whois серверов: Довольно часто, если мы ищем домен третьего уровня например, russia.

nameself.com

Last updated on В подобных случаях jwhois и Ruby Whois педантично хардкодят название whois сервера для каждого известного им домена второго уровня с собственным сервером. Естественно, уследить за всеми доменами второго уровня абсолютно нереально, тем более что никакого централизованного источника подобной информации.

Но опять таки, если присмотреться, большинство таких whois серверов имеют вид whois. Например, в конфигурации Ruby Whois можно увидеть: Для нашего примера: Кроме описанного выше, название whois сервера еще может выглядеть как whois. Как уже упоминалось, whois-servers.

Таким образом, для каждого домена, который мы хотим найти, у нас будет целый список потенциальных whois серверов с большей или меньшей вероятностью работоспособности. Например, для russia. На самом деле, выбирать ничего не нужно, так как не составляет труда опросить все найденные whois серверы в порядке приоритета. Естественно, если результат найден, то опрашивать следующие серверы уже не.

Про кэш хотелось бы рассказать отдельно. Когда не отвечает временно недоступный сервер, он блокируется сначала на одну минуту, затем на две, на четыре, на восемь и. Если неактивный сервер не отвечает и через две недели, он остается неактивным и снова блокируется на две недели. Если временно недоступный или неактивный сервер вдруг ответил, его статус меняется на активный.

То есть если они не отвечают, то немедленно блокируются на две недели. Такая схема позволяет отфильтровать все несуществующие whois серверы и в то же время не дает надолго заблокировать серверы, которые по тем или иным причинам стали временно недоступны.

хостинг под joomla бесплатно

Стоит отметить, что когда мы в следующий раз будем искать домен в зоне edu. Поэтому будет целесообразно поставить его первым по приоритету и опрашивать whois серверы в таком порядке: Поэтому сервер whois.

IP Whois & Flags Chrome & Websites Rating - Интернет-магазин Chrome

Иными словами, через некоторое время запросы к несуществующим или неверным whois серверам будут сведены к минимуму. Ссылки на дополнительные whois серверы Часто результат, который выдал whois сервер, бывает неполным, однако в нем содержится ссылка на другой whois сервер, который содержит более полную информацию.

COM Registrar: Whois Server: COM Name Server: COM Status: Dns Admin Google Inc. Please contact contact-admin google. Expires on Record last updated on Domain servers in listed order: Все найденные whois серверы по умолчанию считается активными. Правда здесь есть один подводный камень. Результат может содержать название собственного whois сервера, и если так вышло, что мы обратились к нему по какому-то алиасу, оно будет выглядеть как ссылка на другой whois сервер.

Its use is ] [ restricted to network administration purposes. Здесь упоминается whois.

WHOIS for domain names after GDPR

То есть если мы теперь пошлем запрос на whois. Кроме этого, некоторые whois серверы могут работать как прокси и возвращать результаты с какого-то другого whois сервера — естественно, упомянув его имя в результате. Иными словами, нам нужно каким-то образом выявлять подобные ситуации: На первый взгляд, решение элементарное: Однако не все так.

Часто результат содержит точное время, когда был сделан запрос — соответственно, два запроса, сделанные подряд, будут отличаться значением времени. Если первый whois сервер работает как прокси, то он, как правило, будет содержать еще какой-то дополнительный текст. И самое интересное: То есть результат запросов абсолютно одинаковый, но несколько строк поменяны местами.

После этого я сравниваю два множества строк используя тип set в Pythonи если второе является подмножеством первого, значит это дубликат. С IP адресами ситуация несколько другая. Есть пять основных региональных whois серверов: Если же какой-то диапазон IP адресов зарезервирован или ни одному из региональных серверов еще не выделен это особенно актуально для IPv6то об этом должна знать IANA.

Reserved by IETF remarks: IANA Если спросить у какого-нибудь регионального сервера про IP адрес, за который он не отвечает, то с определенной вероятностью он сможет указать на нужный сервер, однако далеко не. Поэтому я по очереди опрашиваю все пять региональных whois серверов, а также whois. Первый запрос я всегда посылаю на ARIN, так как он отвечает за наибольшее число IP адресов да и пользователей нашего продукта чаще всего будут интересовать именно IP адреса из Северной Америки.

В большинстве случаев IANA также может указать на правильный сервер, однако в таком случае пришлось бы каждый раз делать минимум по два запроса. Стоит отметить, что AfriNIC — относительно новый whois сервер.

Поэтому другие региональные whois серверы часто думают, что эти IP адреса до сих пор им делегированы.

регистрация доменов ташкент

Если же обратиться к RIPE, то он ответит, что за диапазон Также стоит помнить про две вещи. На самом деле, делать это абсолютно не стоит: Не уверен на счет точных цифр, но запросов в сутки, думаю, будет достаточно, чтобы оказаться заблокированным AfriNIC.

Ссылки на другие whois серверы ищутся так же само, как и для доменов. Правда есть несколько нюансов. Если же он за IP адрес не отвечает, но знает, на каком из региональных серверов его нужно искать, то указывать полное название whois сервера он, скорее всего, не будет, а просто ограничится аббревиатурой типа LACNIC или RIPE.

Как правильно отправить запрос? Итак, с горем пополам, мы наконец-то нашли нужный whois сервер. Как теперь отправить на него запрос? Однако, как всегда, есть исключения тут без хардкода, к сожалению, уже не обойтись. Это whois сервер Мальты whois. Кроме того, следующие whois серверы требуют особый синтаксис: Как же определить остальные? К whois. Level 3 Communications, Inc. ORG Created On: Однако обратите внимание на строку: Sponsoring Registrar ID: Arizona Registrar Country: Go Daddy Software, Inc.

Admin Name: Tim Ruiz Admin Address: AZ Admin Country: Самого whois сервера регистратора он не показал, но показал адрес сайта: Registrar URL: NAME Created on: Taylor, Mike admin crazyemail. Также рекомендую почитать про дополнительный синтаксис региональных whois серверов детально описан на их сайтах.

Я его у себя в модуле не использую, но кому-то может пригодиться. Например, параметр "-B" позволяет whois. Connected to whois. Yandex enterprise network country: RU admin-c: В этом примере я использую telnet, так как через Unix-овый whois или другую утилиту передать специальные параметры не удается. Еще один нюанс связан со считыванием результатов с whois сервера.

Первоначально у меня был приблизительно такой код: Если происходит ошибка, возвращаем пустой результат. Есть whois серверы, которые после отправки данных закрывают соединение таким образом, что на клиенте всегда происходит ошибка хотя все данные перед этим были успешно прочитаны. Поэтому код был изменен на: О нем речь пойдет ниже.

В нескольких словах, это протокол, который должен исправить все недостатки стандартного whois и, в конце концов, полностью его заменить. По умолчанию протокол использует порт Не смотря на то, что rwhois был разработан еще в м году, широкого распространения он до сих пор так и не получил.

Впервые ссылки на rwhois серверы я увидел в результатах, которые мне возвращал ARIN хотя подавляющее большинство ссылок по-прежнему вели на обыкновенные whois серверы.

Кроме того, в большинстве случаев ARIN явно указывал, какой протокол надо использовать: Пришлось открывать спецификацию. Referral Whois описан в RFC http: Это огромный нечитаемый документ на КБ. Проглядев его по диагонали, я сразу же вспомнил слова Joel-а Spolsky: Каких-либо вменяемых примеров в документе не содержалось, Google мне также ничем не смог помочь.

Поэтому, повозившись с telnet-ом и окончательно зайдя в тупик, я решил, что это не тот случай, когда нужно изобретать велосипед. На http: Свыше КБ кода и поддержка rwhois версий 1. С теми rwhois серверами, с которыми я зашел в тупик, он блестяще справился.

Упомянутый выше jwhois также имел встроенную поддержку rwhois, но вряд ли она была настолько же совершенной по крайней мене, поддержки разных версий сервера там не. В общем, если мой модуль находил rwhois сервер, то просто вызывал через subpocess сторонний rwhois клиент, который брал на себя всю коммуникацию с сервером и возвращал готовый результат. Радость длилась недолго: Google, естественно, ничем помочь не смог.

Самое обидное, что jwhois с этими серверами прекрасно справлялся. Провозившись довольно долго, я, наконец, обнаружил удивительную вещь: Такой наглости клиент, естественно, не ожидает и выдает ошибку. Так что Joel Spolsky был абсолютно прав. На самом деле, кое-что от rwhois у этих серверов все-таки осталось: Rwhois клиент потом трансформировал это в красивую таблицу с табуляцией. Реализовать то же самое в моем модуле заняло всего несколько строк кода.

Теперь, если rwhois клиент для какого-то rwhois сервера выдает ошибку, модуль пробует повторно обратиться к нему как к обычному whois серверу. Если это ему удается, сервер навсегда заносится в список обычных whois серверов.

Как обработать полученный результат? Самое сложное — это отличить валидный результат от сообщения об ошибке. Задача абсолютно нетривиальная: Алгоритм был придуман и усовершенствован экспериментальным путем. У меня уже был достаточно большой набор валидных результатов от различных whois серверов, получить сообщения об ошибке также не составило труда: В конце концов, я пришел к следующему: Если результат получен для IP адреса с одного из пяти региональных whois серверов, то нижеследующие строки точно свидетельствует об ошибке: Иными словами, удаляем любые двоеточия, которые заведомо не представляют для нас интереса.

Если домен или IP адрес, который мы ищем, в результате не упоминается, значит, результат невалидный. Иначе результат невалидный. В общем, танцы с бубном. Уверен, что бывают ситуации, которые эта проверка не покрывает, но в подавляющем числе случаев должно работать. Если ARIN вернул нам несколько результатов например, для 8. NET Parent: Direct Allocation RegDate: NET NetType: Reassigned RegDate: Ну и несколько последних штрихов: Удаляем из результата все строки, которые содержат наш собственный IP адрес многие whois серверы включают его в результат.

Удаляем все HTML тэги некоторые whois серверы любят вставлять их, где не. Исправляем кодировку для японских и корейских whois серверов: Если название whois сервера оканчивается на ".

WHOIS Search | ICANN WHOIS

Если человек ищет информацию про японский корейский домен, то с высокой вероятностью он знает японский корейский язык, и эта дополнительная информация будет его полезной.

Всем остальным иероглифы тоже никак не навредят. Вот как бы и. Если вы прочитали всю статью, следующий раздел можете смело пропускать. Короткие итоги Работа whois протокола описана в RFC http: Фактически, все сводится к следующему: Конкретные детали каждый whois сервер определяет по собственному усмотрению.

Также не всегда очевидно, откуда взять нужный whois сервер для конкретного домена или IP адреса. Среди альтернатив можно выделить jwhois и Ruby Whois — обе программы используют принцип хардкода, работая на основе километровых конфигурационных файлов, которые содержат все известные whois серверы и описание особенностей работы с каждым из.

Такой подход также не всегда работает, кроме того, требует постоянного обновления конфигурации стоит отметить, что конфигурация jwhois не обновлялась с го года.

Как показала практика, вполне реально написать свою собственную whois библиотеку, которая будет иметь минимум хардкода, но при этом сможет эффективно определять нужные whois серверы и коммуницировать с. В целом, работа с whois сводится к решению трех принципиальных задач: Сразу же стоит отметить, что существует ряд доменов, whois информация о которых не доступна в принципе или же доступна только на сайте регистратора. Найти правильный whois сервер для остальных доменов можно при помощи нижеследующих способов: Про большинство whois серверов знает whois.

Достаточно отправить запрос вида " whois -h whois. С достаточно большой вероятностью название whois сервера может иметь вид whois.

Многие домены второго уровня имеют свои собственные whois серверы. В подавляющем большинстве случаев, их названия имеют вид whois. Таким образом, для каждого домена у нас будет целый список потенциальных whois серверов с большей или меньшей вероятностью работоспособности. Их можно опрашивать в порядке приоритета, запоминая при этом whois серверы, которые не работают или которых не существуетчтобы не обращаться к ним при следующих запросах. Результат, полученный от первого whois сервера, может содержать ссылку на другой whois сервер с дополнительной информацией.

Здесь нужно не забывать о том, что многие whois серверы бывают доступны под несколькими алиасами, и найденное название может быть не дополнительным whois сервером, а просто другим алиасом первого сервера на практике, whois серверы часто включают в результат свое название.

С IP адресами ситуация другая. Если же какой-то диапазон IP адресов ни одному из региональных серверов еще не выделен, то информация об этом должна быть на whois. Результаты, полученные от одного из региональных whois серверов, также могут содержать ссылки на дополнительные whois серверы. Стоит помнить, что whois. Кроме того, whois. Его реализация достаточно сложна, поэтому для работы с rwhois серверами рекомендуется использовать уже имеющиеся решения например, http: При этом стоит помнить, что многие серверы, которые идентифицируют себя как rwhois, на самом деле работают по протоколу обычного whois!

Упомянутый выше rwhois клиент этого не подозревает и выдает ошибку. Когда результат с whois сервера наконец-то получен, встает задача отличить валидный результат от сообщения об ошибке.

На практике сделать это достаточно непросто, так как у разных whois серверов сообщение об ошибке может выглядеть как угодно. Алгоритм, который используется в моем модуле, детально описан в разделе " Как обработать полученный результат?