Що є кращим методом пошуку доменного імені командного рядка (DNS)?


11

Яку команду командного рядка я використовую для пошуку адреси домену?

Переглядаючи сторінки man для nslookup та копання, я можу побачити розділ, у якому говориться, що ці утиліти не використовують методи Mac OS для пошуку імен.

Отже, яку команду я повинен виконувати?

Відповіді:


25

nslookup, hostі digє прекрасними інструментами запитів DNS в OS X, але всі вони запитують DNS безпосередньо, а не проходять через внутрішню систему роздільної здатності OS X. Як результат, вони не перевіряють файл / etc / hosts або не вирішують імен Bonjour / mDNS (тих, що закінчуються на .local). Стандартний (швидкий «брудний») спосіб перевірити роздільну здатність полягає у використанні ping, оскільки він вирішить адресу, яку ви надаєте йому за допомогою звичайної системи, перш ніж намагатись її ввести. Якщо ви хочете щось призначене для цієї мети, використовуйте dscacheutilзамість цього:

$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net 
ip_address: 184.24.141.15

$ ping www.apple.com
PING e3191.c.akamaiedge.net (184.24.141.15): 56 data bytes
64 bytes from 184.24.141.15: icmp_seq=0 ttl=57 time=57.258 ms
^C
--- e3191.c.akamaiedge.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 57.258/57.258/57.258/0.000 ms

Кудос. Я подав радіолокатор, щоб ручні роботи
Sören Kuklau

Одна з проблем використання dscacheutil для пошуку, полягає в тому, що якщо він не може вирішити ім'я хоста, він не вийде з ненульовим кодом повернення, як це робить хост.
гуркотить

Щоб подолати відсутність корисних кодів повернення, я створив найпростіший скрипт оболонки, доповнивши стандартну команду 'host'. #!/usr/bin/env bash STAT=1 LOOKUPRESULT="$(dscacheutil -q host -a name "$1")" if [ -z "$LOOKUPRESULT" ] ; then exit "$STAT" else echo "$LOOKUPRESULT" STAT=0 exit "$STAT" fi
gurple

4

Будь-яка команда працює чудово. Тільки тому, що він не використовує методи OS X, не означає, що він не працює. Якщо ви хочете скористатися "методами OS X", чи можу я порекомендувати Network Utility?

введіть тут опис зображення

Це все ще може викликати whois і просто відображати його у вікні.


Я думаю, це не працює для .localадрес, чи не так?
Piotr Findeisen

Ні, це не працюватиме для локальних адрес. Для цього використовується загальнодоступний сервер Whois, і .local адреси там не будуть розміщені.
Еверетт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.