DNS. Копаем глубоко B!rd Feathery Xakep, номер #069, стр. 069-026-4 Я уже говорил тебе про кэширование запросов. Сначала кэшировались только положительные ответы, т.е. связанные с существующими именами и адресами хостов. Но относительно недавно, в 1998 году, умные дядьки предложили кэшировать еще и отрицательные ответы - информацию о том, что тех или иных хостов не существует в природе. Это резко снизило количество обращений к корневым серверам, которые генерировались благодаря некоторым людям, у которых руки с бодуна тряслись или кнопка залипала. После этого локальные серверы сразу стали отвечать, что адреса xakkkkep.ru не существует в природе, а юзеру пора бы купить новую клаву. Допрашиваем DNS-сервер Для большинства пользователей вся эта колбасня с запросами, ответами, пересылками и прочими резолвами (resolve - операция конвертации доменного имени в IP-адрес) остается вне поля зрения. Операционная система следит за адекватным преобразованием адресов, и редко какое приложение само обращается к DNS-серверу. Реализация клиентской части DNS уже давно стала частью стека протоколов TCP/IP в операционках. Но иногда приходится узнавать кое-какие сведения о DNS. В частности, они бывают крайне полезны при анализе удаленных хостов и сетей и позволяют пролить свет на их структуру и внутреннее устройство. Как и под Винды, под Никсы существует маленькая консольная программа nslookup. Окошечная версия, судя по всему, была передрана с никсовой (правда, как обычно, не до конца), потому что интерфейс у них ну очень похож. У программы есть два режима работы: командный и интерактивный. Первый используется, когда тебе просто нужно узнать IP хоста по его имени. Сначала программа сообщает свои текущие настройки. Server - DNS-сервер, к которому она будет обращаться за информацией, ns1.misp.ru - основной сервер моего провайдера, а 10.22.10.20 - его адрес. Строка «Non-authoritative answer» говорит о том, что данные берутся из какого-то промежуточного кэширующего сервера, скорее всего, из самого ns1.misp.ru. Далее идут запрошенное нами доменное имя и собственно адрес. Все очень просто. Гораздо больше информации можно получить, используя nslookup в интерактивном режиме. Для этого запускаем программу без параметров и первым делом говорим ей: «?». В первую очередь нас интересует команда «set type». Она определяет тип информации, которую мы будем добывать. |