LINUX.ORG.RU

Bash для новичка (условие и выборка)

 , bldns,


0

2

Доброе время.
Новичок в 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

Буду рад любому пинку

rev_ip=(`.../\4 \3 \2 \1/'`)
...
request="host $rev_ip[1].$rev_ip[2].$rev_ip[3].$rev_ip[4].$dnsbl
...
then
   echo $rev_ip[4].$rev_ip[3].$rev_ip[2].$rev_ip[1]
...
yozan
()

Новичок в bash

Если есть возможность, не пиши на шелл скриптах. Жизнь будет проще.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.