Unix: как тестировать Ip-адрес разрешен для имен

Unix: Как проверить IP-адрес разрешено для имени.

Мне нужно проверить, может ли IP-адрес быть разрешен для имени, используя запись DNS через сценарий оболочки.

Код:

DNS_Lookup() { LOOKUP=$(nslookup $1) FAIL_COUNT=$(echo $LOOKUP | grep "** server can't find " | wc -l); if [ $FAIL_COUNT -eq 1 ];then echo "Unable to resolve DNS for $1" else echo "IP:$1 DNS Name:$(echo $LOOKUP | grep -v nameserver | cut -f 2 | grep name | cut -f 2 -d "=" | sed 's/ //')" return 0 fi } DNS_Lookup 192.168.27.191 

Вышеприведенный код не работает во всех возможных случаях. ОС: CentOS

2 Solutions collect form web for “Unix: как тестировать Ip-адрес разрешен для имен”

Вы можете использовать команду getent с параметром hosts следующим образом:

 getent hosts www.google.com 

И подсчитайте, сколько результатов получится:

 getent hosts www.google.com | wc -l 

getent использует библиотеки Switch Name Service, чтобы выполнять различные запросы имен. Со вторым параметром вы можете определить, какой тип db вы хотите найти. Проверьте man getent для деталей.

Показаны два возможных подхода, которые переносимы.

 #!/bin/sh reverseDNS=$(host 8.8.8.8) if [ $? != 0 ]; then printf '%s\n' "Reverse DNS [FAILED]" else printf '%s\n' "Reverse DNS [OK]" fi ###### nslookup ########## nslookup_func(){ nslookup=$(nslookup google.com) if [ "$nslookup" = ";; connection timed out; no servers could be reached" ]; then printf '%s\n' "nslookup [FAILED]" else printf '%s\n' "nslookup [OK]" fi } nslookup_func 
  • Linux Mint - щелкните правой кнопкой мыши в bash, выберите «открыть ссылку». И я получаю эту ошибку
  • Почему `` `встроенная оболочка и` [[`ключевое слово оболочки?
  • Как мы можем переименовать файл с точкой с запятой в качестве части имени файла?
  • Найти не хочет найти * .sh на определенном уровне
  • Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?
  • Расширение «$ @» для пользовательских переменных
  • grep и умножить определенные столбцы
  • Как отправить вывод команды unix с одного сервера на другой?
  • найти с ls, но с полным покрытием
  • Mac OS X: dircolors не найдены?
  • Изменение цвета текста имени файла
  • Linux и Unix - лучшая ОС в мире.