Как узнать, что ответит на вызов разрешения 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 .

  • resolvconf записывает недопустимый файл resolv.conf
  • DNS-запросы иногда занимают 5 секунд
  • Почему sendmail добавляет мое имя хоста в неизвестный целевой домен?
  • Создание команды «host -v hostname» для CentOS 7
  • Fedora 18: не удается разрешить хосты
  • Как проверить, включена ли переадресация портов?
  • Как определяется мое доменное имя?
  • Преобразование старого файла зоны DNS в новый формат
  • 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 .

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