Где Найти Настройки Dns На Macos

Привет! Недавно передо мной встала задача отладки процесса разрешения DNS-имен в MacOS. Подробного материала о том, как именно это происходит, я не нашел, поэтому пришлось собирать информацию самостоятельно.

Вот что мы узнали.

Демон mDNSResponder отвечает за задачи, связанные с DNS, в macOS. В его жизни были приключения - его заменил обнаруженный демон (Йосемити), который сломал много вещей и создал массу проблем.

Через год Apple опомнилась и вернула (El Capitan) проверенный mDNSResponder, который сразу исправил около 300 ошибок и восстановил стабильность.

mDNSResponder является частью Бонжур — набор технологий, направленных на работу устройства в сети без необходимости настройки, включает в себя поиск сервисов, автоматическое назначение адресов и разрешение имен.

Bonjour — это то, что вы используете, когда достаете свой iPhone и ищете Apple TV или принтер.



Где найти настройки DNS на MacOS

Bonjour имеет открытый исходный код, как и mDNSResponder. Такой же .

Это упрощает задачу, если нужно докопаться до истины и показать все, что сокрыто.

В архиве уже есть готовые реализации для Windows, Posix и VxWorks. Демон обрабатывает unicastDNS и multicastDNS. UnicastDNS — это обычный DNS, к которому мы привыкли и знаем.

MulticastDNS — это бессерверный протокол для использования DNS в локальных сетях.

Если устройству необходимо кого-то найти, оно отправляет многоадресный пакет «вопрос» и получает от устройства ответ с запрошенным именем (если оно, конечно, существует).

Сам протокол подробно описан в одноименном RFC .

Именно возможностями MulticastDNS злоупотребляют Ответчик — программное обеспечение для атак на локальную сеть.

После запуска он коварно начинает отвечать на все запросы mDNS, заманивая ничего не подозревающих жертв в свои лапы.

Это было лирическое отступление — а теперь к главному вопросу — как посмотреть текущий кэш DNS и общее состояние настроек DNS. Итак, выполняем следующие действия:

  1. В терминале пишем:
      
      
      
      
      
      
       

    sudo log config --mode "private_data:on"

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

    Где найти настройки DNS на MacOS

    и в фильтре пишем mDNSResponder

    Где найти настройки DNS на MacOS

  3. Выполните в терминале:

    sudo killall -INFO mDNSResponder

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

    Где найти настройки DNS на MacOS

Статус настроек DNS представляет собой большое полотно, разделенное на разделы.

Самые интересные из них: Кэш — кэш DNS хранится непосредственно здесь:

------------ Cache ------------- Slt Q TTL if U Type rdlen 3 4290 en0 + PTR 33 _companion-link._tcp.local. PTR VMAC._companion-link._tcp.local. 3 4273 en0 + PTR 37 _companion-link._tcp.local. PTR VMAC\032(2).

_companion-link._tcp.local. 6 107951 -U- - Addr 0 isafronov-G8WP. Addr 6 107951 -U- SOA 64 .

SOA a.root-servers.net. nstld.verisign-grs.com. 2019011700 1800 900 604800 86400 6 107951 -U- - AAAA 0 isafronov-G8WP. AAAA 6 107951 -U- SOA 64 .

SOA a.root-servers.net. nstld.verisign-grs.com. 2019011700 1800 900 604800 86400 9 763 -U- CNAME 37 1-courier.push.apple.com. CNAME 1.courier-push-apple.com.akadns.net. 13 8819 -U- CNAME 22 ax.itunes.apple.com.edgesuite.net. CNAME a1108.gi3.akamai.net.

Содержимое файла /etc/hosts — на всякий случай:

--------- /etc/hosts --------- State Interface KnownUnique LO 4 localhost. Addr 127.0.0.1 KnownUnique LO 16 localhost. AAAA ::1 KnownUnique LO 4 vmware-localhost. Addr 127.0.0.1 KnownUnique LO 16 vmware-localhost. AAAA ::1 KnownUnique LO 4 broadcasthost. Addr 255.255.255.255

Статистика mDNS — повторяющиеся имена, количество пакетов, события интерфейса:

--- MDNS Statistics --- Name Conflicts 0 KnownUnique Name Conflicts 0 Duplicate Query Suppressions 2045 KA Suppressions 0 KA Multiple Packets 0 Poof Cache Deletions 203 -------------------------------- Multicast packets Sent 8211 Multicast packets Received 22382 Remote Subnet packets 1 QU questions received 25960 Normal multicast questions 62197 Answers for questions 4259 Unicast responses 0 Multicast responses 0 Unicast response Demotions 0 -------------------------------- Sleeps 181 Wakeups 182 Interface UP events 665 Interface UP Flap events 48 Interface Down events 817 Interface DownFlap events 16 Cache refresh queries 2876 Cache refreshed 28935 Wakeup on Resolves 0

Список сетевых интерфейсов:

------ Network Interfaces ------ Struct addr Registered MAC BSSID Interface Address 00007FA2FD834E00 11, 00007FA2FD834E00, v6 utun0 00:00:00:00:00:00 00:00:00:00:00:00 Active A fe80::ebfb:c666:8f7b:62ed 00007FA2FF01B800 9, 00007FA2FF01B800, v6 awdl0 DE:14:B1:E7:21:33 00:00:00:00:00:00 Active v6 A M fe80::dc14:b1ff:fee7:2133 00007FA2FD829C00 7, 0000000000000000, v4 en0 F4:5C:89:8E:9D:C1 E4:8D:8C:61:7F:5D 192.168.1.73 dormant for 1943 seconds 00007FA2FD00C200 13, 00007FA2FD00C200, v4 en5 42:4D:7F:A3:50:1B 00:00:00:00:00:00 Active v4 A M 169.254.150.120 00007FA2FE008C00 7, 00007FA2FE008C00, v4 en0 F4:5C:89:8E:9D:C1 E4:8D:8C:61:7F:5C Active v4 A M p 192.168.1.73

Список DNS-серверов:

--------- DNS Servers(2) ---------- DNS Server .

en0 127.0.0.1:53 0 Unscoped 30 18283 v4 v6 !cell !exp !clat46 !DNSSECAware DNS Server .

en0 127.0.0.1:53 0 InterfaceScoped 30 18291 v4 v6 !cell !exp !clat46 !DNSSECAware v4answers 1 v6answers 1 Last DNS Trigger: 140697 ms ago

Мир внутренних и внешних взаимодействий между подсистемами MacOS огромен и полон загадок.

Работа с доменными именами — это лишь малая часть.

Для дальнейшего чтения рекомендую:

Теги: #информационная безопасность #Разработка для MacOS #dns #mac os x #mac os x
Вместе с данным постом часто просматривают: