Проблема DNS на macOS - PullRequest
       155

Проблема DNS на macOS

1 голос
/ 18 апреля 2020

Я столкнулся со странной проблемой DNS в macOS Catalina 10.15.4:

traceroute google.com и ping google.com оба вернули unknown host.

Однако nslookup google.com и dig google.com вернул правильные результаты с правильными DNS-серверами (я использую 8.8.8.8 и 8.8.4.4).

Может кто-нибудь объяснить мне, почему это может произойти? Мне кажется, что эти инструменты разрешают DNS по-разному.

Спасибо!

1 Ответ

2 голосов
/ 19 апреля 2020

Возможно, они спрашивают разных серверов имен. Я бы порекомендовал сделать захват пакета, чтобы точно выяснить, что происходит.

Сначала запустите tcpdump (или wireshark). Затем вы сможете увидеть, какие DNS-запросы выполняются и кому они отправляются.

Я приведу пример этого с tcpdump, потому что он, вероятно, уже установлен на вашем компьютере.

Сначала откройте терминал и запустите sudo tcpdump -n -i any port 53.

Затем откройте другой терминал рядом с ним и запустите ping google.com и наблюдайте за выходом первого терминала. Вы должны увидеть что-то вроде этого:

16:21:10.831721 IP 10.1.0.106.53914 > 75.75.76.76.53: 46435+ [1au] A? google.com. (39)
16:21:10.832013 IP 10.1.0.106.54613 > 75.75.76.76.53: 15182+ [1au] AAAA? google.com. (39)
16:21:10.856574 IP 75.75.76.76.53 > 10.1.0.106.53914: 46435 1/0/1 A 172.217.1.206 (55)
16:21:10.859887 IP 75.75.76.76.53 > 10.1.0.106.54613: 15182 1/0/1 AAAA 2607:f8b0:400f:801::200e (67)

Первые две строки показывают, что я отправил два запроса на 75.75.76.76 для google.com, один запрос для адресов IPv4 (тип A) и один для адреса IPv6 ( типа АААА). Вторые две строки показывают, что я получил ответ от 75.75.76.76 для моего запроса A (172.217.1.206) и одну для моего AAAA-запроса (2607: f8b0: 400f: 801 :: 200e).

Итак попробуйте это и посмотрите, кому вы отправляете DNS-запросы и чем они отличаются.

Если вы хотите сохранить захват пакета в файл и проанализировать его позже, выполните ту же команду, но добавьте -w и аргумент файла:

sudo tcpdump -n -i any port 53 -w my-file.pcap

Когда вы закончите, нажмите ctrl+c. Затем вы можете прочитать содержимое файла с помощью tcpdump -n -r my-file.pcap или открыть его в wireshark.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...