Скрипт, определения адресов (для обработки)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Скрипт, определения адресов

Сообщение Voler »

DR=`cat /root/host_deny`
SR=| grep address
nslookup $DR $SR > temp

В temp ноль. Я так понимаю в nslookup не передается вывод с cat.

И второй вопрос, nslookup делает такой вывод

Код: Выделить всё

nslookup mail.ru
Server:         217.150.34.129
Address:        217.150.34.129#53

Non-authoritative answer:
Name:   mail.ru
Address: 194.67.57.226
Name:   mail.ru
Address: 194.67.57.26
Name:   mail.ru
Address: 194.67.57.126


Меня интересует только

Код: Выделить всё

Non-authoritative answer:
Name:   mail.ru
Address: 194.67.57.226
Name:   mail.ru
Address: 194.67.57.26
Name:   mail.ru
Address: 194.67.57.126


я так понимаю с помощью sed можно удалять, подскажите нормальный вывод.
я смог добиться только удаления Address:

sed 's/^Address://' temp > temp2
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скрипт, определения адресов

Сообщение Ленивая Бестолочь »

nslookup mail.ru| grep -v "Server:"| grep -v "#53"
;)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

JIeHb писал(а):
17.03.2008 17:38
nslookup mail.ru| grep -v "Server:"| grep -v "#53"
;)

Спасибо, за идею. Но вот почему nslookup файл не читает с перечислиными в нем серверами не понятно, т.е. cat не перадет.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

Разобрался почему lslookup не обрабатывает файл host_deny так как он ищет в этом списке днс сервер, а потом обрабатывает. Как можно еще по списку серверов узнать их адреса? Кто нить пробовал это провернуть?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скрипт, определения адресов

Сообщение Ленивая Бестолочь »

for serv in `cat list` do
nslookup $serv| grep Address| grep -v "#53"| sed 's/^Address://g'
done
?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

JIeHb писал(а):
17.03.2008 18:48
for serv in `cat list` do
nslookup $serv| grep Address| grep -v "#53"| sed 's/^Address://g'
done


по пробовал. пишет ошибку.

Код: Выделить всё

for serv in `cat deny_hosts` do
nslookup $serv | grep Address| grep -v "#53"| sed 's/^Address://g' > temp
done

ошибка
./run_host_deny: line 5: syntax error near unexpected token `nslookup'
./run_host_deny: line 5: `nslookup `$serv | grep Address| grep -v "#53"| sed 's/^Address://g' > temp`'


По пробовал пару вариантов.
Вот, рабочий, но он не обрабатывает список. И nslookup олько последний сайт обрабатывается.

Код: Выделить всё

#!/bin/bash
for serv in $( cat deny_hosts ); do
nslookup $serv| grep Address| grep -v "#53"| sed -e 's/^Address://g' > temp
done

Куда еще копать?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скрипт, определения адресов

Сообщение Ленивая Бестолочь »

всетаки есть мнение, что
$( cat deny_hosts ) лучше писать `cat deny_hosts`
а вообще странно :/
можно поглядеть deny_hosts?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

JIeHb писал(а):
18.03.2008 10:52
всетаки есть мнение, что
$( cat deny_hosts ) лучше писать `cat deny_hosts`
а вообще странно :/
можно поглядеть deny_hosts?


Можно, а что ж не нельзя то
cat deny_hosts
и лежит он в папке в месте со скриптом

Код: Выделить всё

pro-warez.ru
newshot.ru
2baksa.net


Разобрался в чем косяк, то был.

Код: Выделить всё

#!/bin/bash
for serv in $( cat deny_hosts ); do
nslookup $serv| grep Address| grep -v "#53"| sed -e 's/^Address://g' >> temp
done


- имено в этом. Так если стоит , то он затирал предыдущие значения.

Ты правильно, понял это для блокировки с помощью iptables определенных ресурсов.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

#!/bin/bash
for serv in $( cat deny_hosts ); do
nslookup $serv| grep Address| grep -v "#53"| sed -e 's/^Address://g' >> temp
done

for HOST in $( cat temp ); do
iptables -A FORWARD -s 192.168.1.0/24 -d $HOST -j DROP
done


Т.е. для чего мне это нужно, для добавления определенных сайтов в список заблокированных.
Так как, ручками сразу большое количество добавить сложно, а так скачал и пользуй готовый лист, которых много.
Это набросок, еще планирую удалять файл temp и создавать отдельно цепочку для iptables.

Единственное сомнение как iptables обрабатывает, большое количество правил?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Скрипт, определения адресов

Сообщение Ленивая Бестолочь »

ну вообще должен прекрасно отработать ;)
у нас на серверах филиалов очень некислые файлы правил iptables - ничего, все работает.

а вообще небольшое ИМХО - может всетаки стоит такие вещи прикрывать на прокси-сервере?
всетаки ip - вещь в наше время динамическая, а вот днс-имя нет.
ну и както проще/удобней вроде + можно группы доступа разные делать....
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Скрипт, определения адресов

Сообщение Voler »

JIeHb писал(а):
18.03.2008 11:41
ну вообще должен прекрасно отработать ;)
у нас на серверах филиалов очень некислые файлы правил iptables - ничего, все работает.

а вообще небольшое ИМХО - может всетаки стоит такие вещи прикрывать на прокси-сервере?
всетаки ip - вещь в наше время динамическая, а вот днс-имя нет.
ну и както проще/удобней вроде + можно группы доступа разные делать....


Согласен. Прокси пробовал поднять, но как прозрачный. И + нужно прикручивать тогда антивирус.
Спасибо сказали: