Доброе время.
Новичок в bash. За ночь так и не разобрался с написанием условия и выборки.
Проверку на присутствие в dns black lists по ip.
Входные данные:
ip=x1.x2.x3.x4
Используется стандартный запрос вида host x4.x3.x2.x1.misc.dnsbl.sorbs.net
#ответы могут быть такими:
x4.x3.x2.x1.misc.dnsbl.sorbs.net does not exist, try again
x4.x3.x2.x1.noptr.spamrats.com A 127.0.0.2 (127.0.0.- постоянная часть, а последняя
цифра может изменяться)
x4.x3.x2.x1.proxy.block.transip.nl A record not found, server failure
В итоге имею:
#Список dnsbl
RBLDNS=/etc/zabbix/externalscripts/zext_dnsbl.txt
ip=x1.x2.x3.x4
rev_ip=`echo $ip | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\4.\3.\2.\1/'`
for dnsbl in `cat $RBLDNS`
do
request=«host »$rev_ip".«$dnsbl #получаем аналог host x4.x3.x2.x1.misc.dnsbl.sorbs.net
if (условие (в‘$request’ есть 127.0.0) ) ?????
then
echo ???? (нужно вывести имя bldns, в котором присутствует данный ip)
fi
done
Буду рад любому пинку