Как узнать, что ответит на вызов разрешения DNS?

Предположим, у меня есть внутри моего хоста файл записи для foobar , как узнать, используется ли этот файл или если удаленный DNS отвечает на разрешение для foobar ?

Может ли какая-либо из основных утилит вернуть эту информацию?

dig +trace не показывает мне то, что я хочу знать

 dig +trace localhost ; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace localhost ;; global options: +cmd ;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms dig +trace google.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace google.com ;; global options: +cmd ;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms 

Я бы ожидал, что он скажет мне, что поиск разрешает hosts для localhost и моего DNS-сервера (в зависимости от того, какой из них) для google.com . Если я делаю вызов внутренне, используя getaddrinfo(3) , он ударяет по файлу hosts или восходящему DNS-серверу при разрешении localhost .

One Solution collect form web for “Как узнать, что ответит на вызов разрешения DNS?”

dig – инструмент устранения неполадок DNS: вы либо явно указываете DNS-сервер, который хотите запросить, либо, если вы этого не сделаете, он будет использовать то, что указано в вашем resolv.conf . Как указано в его документации:

Если ему не будет предложено запросить определенный сервер имен, выполните поиск каждого из серверов, перечисленных в /etc/resolv.conf. Если не найдены полезные адреса сервера, копает запрос на локальный хост.

Для любого другого приложения в системе, которому необходимо выполнить разрешение DNS, это будет находиться под контролем /etc/nsswitch.conf который перечисляет источник информации для запроса для определения имени хоста, например:

hosts: файлы myhostname mdns4_minimal [NOTFOUND = return] dns mdns4

который, например, показывает, что glibc сначала будет искать в /etc/hosts (токен files ) и только позже выполнить DNS-запрос (токен dns ), снова используя содержимое resolv.conf

Если вы хотите быть на 100% уверенным для данного приложения, вам нужно будет запустить его внутри вызова strace .

  • Удаление сервера имен из resolv.conf
  • qemu guest обходит межсетевой экран хоста
  • Как проверить, что хостам запрещен доступ к серверу имен?
  • Домены DNS в белом списке
  • Как устройства добавляют записи DNS в локальной сети?
  • resolvconf записывает недопустимый файл resolv.conf
  • Субдомен Apache не может быть разрешен
  • Как узнать, откуда взялись записи resolv.conf?
  • Изменение DNS по умолчанию на подключении openvpn
  • Интерпретация вывода из systemd-resolve -status
  • В рекурсивном DNS-запросе, что происходит, ttl = 0?
  • Interesting Posts

    Добавить элемент в inittab на OpenSuse 12.1

    Ubuntu 14.04 с асером timelinex 5830TG

    Что такое Wayland?

    Linux: Есть ли эквивалент IPv6 для опции ядра ipv4 accept_local?

    Открытое устройство символов без создания узла устройства

    Переадресация HTTPS на субдомен

    Как разрешать имена хостов с помощью Raspbian 5/5/2015?

    xampp не запускается, apache работает, но apache не установлен!

    vsftpd не запускается: «systemd : vsftpd.service: главный процесс завершен, код = выведен, статус = 2 / INVALIDARGUMENT"

    Копирование всех файлов из одного каталога во все каталоги в том же родительском каталоге

    Как перемещать все файлы (исключая подкаталоги) из одного каталога в другой?

    Не удается войти в sftp

    последняя команда показывает только количество дней входа в систему на несколько дней

    Равномерно распределять ресурсы по нескольким направлениям

    Почему пакет программного обеспечения работает нормально даже при его обновлении?

    Linux и Unix - лучшая ОС в мире.