Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #69, СЕНТЯБРЬ 2004 г.

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». Она определяет тип информации, которую мы будем добывать.

Назад на стр. 069-026-3  Содержание  Вперед на стр. 069-026-5