Решение:
#!/usr/local/bin/bash
if [ -z "$1" ]; then
echo Use: $0 hostname
exit
fi
DNS=(
208.67.222.222
208.67.220.220
8.8.8.8
205.171.2.65
205.171.3.65
62.33.189.250
80.237.81.250
206.124.64.1
66.93.87.2
216.231.41.2
64.81.45.2
64.81.127.2
64.81.79.2
64.81.159.2
66.92.159.2
64.81.79.2
64.81.159.2
64.81.127.2
64.81.45.2
216.27.175.2
66.92.159.2
66.93.87.2
199.2.252.10
204.97.212.10
204.117.214.10
)
IFS=$'\n'
cntDNS=${#DNS[@]}
for II in ${!DNS[*]}
do
printf '% -25s' "Server ${DNS[$II]}:"
nslookup -timeout=2 $1 ${DNS[$II]} | sed -ne 's/Address:\([^#]*\)$/\1/p' |sort| tr -d "\n"
echo
doneПримечание:
* Не забудьте подправить первую строку скрипта, а именно "#!/bin/bash" на ваше место расположение bash'a (whereis bash).
** DNS'ки публичные, некоторые могут не отвечать, поэтому -timeout=2 ... дабы не зависать сильно на таких запросах ...
good luck
Комментариев нет:
Отправить комментарий