Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как определить - занят ли домен?
 
 автор: Shorr Kan   (18.04.2006 в 16:45)   письмо автору
 
 

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

   
 
 автор: Mefisto84   (18.04.2006 в 17:05)   письмо автору
 
   для: Shorr Kan   (18.04.2006 в 16:45)
 

Поиск ведется по DNS-серверам, а эти сервера работают довольно быстро.

   
 
 автор: Shorr Kan   (18.04.2006 в 17:10)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 17:05)
 

А как по ним ведется поиск?

   
 
 автор: Mefisto84   (18.04.2006 в 17:48)   письмо автору
 
   для: Shorr Kan   (18.04.2006 в 17:10)
 

Ну в тонкостях рассказать не смогу, но примерную картину знаю. Вы посылаете запрос на DNS-сервер( с указанием домена), а на сервере проверяется присвоен ли этому домену какой-либо IP-адрес. Если да, то следовательно домен занят, если нет, то свободен. А работают так быстро за счет большого объема памяти, в которой они хранят очень большое количество адресов.

   
 
 автор: Киналь   (18.04.2006 в 18:12)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 17:48)
 

Если я правильно понял, то все сводится к поиску 404-х ошибок.

   
 
 автор: Shorr Kan   (18.04.2006 в 18:16)   письмо автору
 
   для: Киналь   (18.04.2006 в 18:12)
 

Хммм.... а ведь правда - это самое скорое. Или может случиться что-то? Например - нет индексной странички на домене...

   
 
 автор: Shorr Kan   (18.04.2006 в 18:17)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 17:48)
 

Это понятно, но DNS-сервер - это только слово. На практике - на какой адрес слать? А такого не бывает - DNS-сервера - это распределенная сеть. Соответственно - этот метод - теоретический. На практике он неработоспособен, к сожалению..

   
 
 автор: Mefisto84   (18.04.2006 в 19:31)   письмо автору
 
   для: Shorr Kan   (18.04.2006 в 18:17)
 

То есть DNS это только слово? Или я вас не понял. DNS это централизованная служба, основанная на рспределенной базе отношений " доменное имя - IP-адрес". Как это на практике не работоспособен? Конечно DNS это не один сервер, это огромное количество серверов, так как практически у каждого(или вообще у каждого) домена есть свой DNS сервер. Именно так оно и работает.

   
 
 автор: Киналь   (18.04.2006 в 19:43)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 19:31)
 

Ну так я и говорю - 404-я. Ведь, насколько я знаю, система такая: запрос в виде доменного имени идет на ближайший DNS-сервер; если имени соответствует IP, идет соединение, иначе 404. Описанное является единственным способ общения с DNS-серверами.
Или я не прав?

   
 
 автор: Mefisto84   (18.04.2006 в 20:16)   письмо автору
 
   для: Киналь   (18.04.2006 в 19:43)
 

Думаю что на счет 404 вы не правы. Ведь страница(или как лучше сказать сайт) может отсутствовать по данному адресу, но адрес занят. Ведь многие порталы специально для своего сайта делают 404-ю страницу, ну к примеру в стиле сайта. К примеру во время проведения работ или еще чего-то. Да и вообще, вот представьте, вы купили себе адрес kinal.ru, но сайт не заливали, у вас там вообще ничего нет. Что вы получите при запросе страницы? Скорей всего 404.

   
 
 автор: Киналь   (18.04.2006 в 21:26)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 20:16)
 

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

   
 
 автор: Shorr Kan   (18.04.2006 в 21:43)   письмо автору
 
   для: Киналь   (18.04.2006 в 21:26)
 

Но это долго. Хостинги явно не так определяют. Да и любой сервис по определению занятости... Они явно (судя по скорости) - не обращаются к паре-тройке-десятку whois-серверов.

А обращаться к одному... это как-то нелогично. Надежность определения сильно низкая...

   
 
 автор: Shorr Kan   (18.04.2006 в 20:40)   письмо автору
 
   для: Mefisto84   (18.04.2006 в 19:31)
 

Это понятно. Но как вы предлагаете это технически реализовать? Запрос куда посылать? В каком формате? Что будет в ответе?
Мне известны только два метода. Парсинг whois (долго... по многим пройтись придется) и парсинг подобных сервисов (ненадежно. А вдруг сервис прикроется?). Вот Киналь подсказал и третий. Но он - полурабочий, так как домен может быть занят, а странички - не закачаны.
Вы, видимо, имеете ввиду - именно первый метод. Парсинг whois... по очереди, перебегая по серверам.

   
 
 автор: Mefisto84   (19.04.2006 в 12:04)   письмо автору
 
   для: Shorr Kan   (18.04.2006 в 20:40)
 

Хорошо, распишу все подробно :-) Существует 2 способа поиска имен. В первом варианте работу по поиску IP-адреса координирует DNS-клиент:
1. DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени.
2. DNS-сервер отвечает, указывая адрес следующего сервера, обслуживающего домен верхнего уровня, заданного в старшей части запрошенного имени.
3. Клиент делает запрос следующего сервера, который отсылает его к серверу нужного поддомена и.т.д., пока не будет найден сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту.
Так как эта схема загружает клиента достаточно сложной работой, она применяется редко.
Во-втором случае реализуется другая процедура.
1. Клиент запрашивает локальный DNS-сервер, то есть тот сервер, обслуживающий поддомен, к которому принадлежит имя клиента.
2. Если локальный сервер знает ответ, то он сразу же возвращает его клиенту; это может соответствовать случаю когда запрошенное имя входит в тот же поддомен, что и имя клиента, а также случаю, когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем КЭШе.(это память про которую я вам уже говорил, за счет именно её сервера работают очень быстро, и не тратится так много времени как вы думаете).
3. Если локальный сервер не знает ответ, то он выполняет запросы к корневому серверу и т.д. точно так же, как это делает клиент в первом варианте. Получив ответ, он передает его клиенту, который все это время просто ожидает его от своего локального DNS-сервера.
И еще раз повторюсь почему поиск происходит так быстро: DNS-серверы широког применяют процедуру кэширования проходящих через них ответов. Что бы служба DNS могла оперативно обрабатывать изменения, происходящие в сети, ответы кэшируются на определенное время – обычно от нескольких часов до нескольких дней.
Ну вот, вроде бы все рассказал. Спрашивайте если что то не понятно, без проблем, постараюсь объянить.

   
 
 автор: cheops   (19.04.2006 в 17:57)   письмо автору
 
   для: Shorr Kan   (18.04.2006 в 16:45)
 

Посмотрите скрипт в аттаче - руки не доходят его выложить в примеры на PHP...

   
 
 автор: elenaki   (20.04.2006 в 09:37)   письмо автору
 
   для: cheops   (19.04.2006 в 17:57)
 

класс! я заменила свой класс на этот скриптик. мне как раз нужен был просто ответ - занят или нет,
а класс выдавал кучу лишней информации... спасибо!

   
 
 автор: cheops   (20.04.2006 в 11:54)   письмо автору
 
   для: elenaki   (20.04.2006 в 09:37)
 

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

   
 
 автор: Shorr Kan   (20.04.2006 в 10:33)   письмо автору
 
   для: cheops   (19.04.2006 в 17:57)
 

Блеск. Одно интересно - откуда писатель узнал все эти сервера? И соотношение... например - "com","whois.verisign-grs.net" - почему com именно на whois.verisign-grs.net ?

   
 
 автор: elenaki   (20.04.2006 в 10:37)   письмо автору
 
   для: Shorr Kan   (20.04.2006 в 10:33)
 

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=11328&page=1

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования