Пинг группы адресов, Jinx, 03-Янв-12, 12:43 [смотреть все]Кратко о том чего хочу: Хочу сделать скрипт на Шелле, который пингует группу адресов, и в случае отсутствия ответа от всей группы - тушить данную машину.Я не прошу готового решения, прошу подтолкнуть меня в нужном направлении, объяснить каким образом можно это реализовать. Я никак не могу придумать каким образом проверять именно группу адресов. Можно конечно через if else, что-то типа:
if не пингуется первый адрес then if не пингуется второй адрес then
но это-же полнейшее извращение - так делать неправильно. Прошу совета.
|
- Пинг группы адресов, Loly, 12:53 , 03-Янв-12 (1)
http://fping.sourceforge.net/"fping is different from ping in that you can specify any number of hosts on the command line, or specify a file containing the lists of hosts to ping."
- Пинг группы адресов, Jinx, 13:02 , 03-Янв-12 (2)
> http://fping.sourceforge.net/ > "fping is different from ping in that you can specify any number > of hosts on the command line, or specify a file containing > the lists of hosts to ping." По описанию - именно то что нужно. Пойду эксперементировать. Спасибо.
- Пинг группы адресов, Jinx, 19:33 , 05-Янв-12 (3)
При проверке отключенных хостов появляется вот такая бяка:
ICMP Redirect from 192.168.1.1 for ICMP Echo sent to 192.168.1.10 где: 192.168.1.1 - маршрутизатор, которого я вообще не трогал 192.168.1.10 - компьютер, который я проверялИ мало того - это сообщение появляется даже при:
fping -a 192.168.1.10 > /dev/null то есть я вывод команды в черную дыру направляю, а мне оно все равно пишет. Соответственно написанный мной скрипт с использованием fping получился неработоспособный.
- Пинг группы адресов, ACCA, 08:14 , 06-Янв-12 (4)
> При проверке отключенных хостов появляется вот такая бяка: > ICMP Redirect from 192.168.1.1 for ICMP Echo sent to 192.168.1.10 Возможно, что у тебя маршрут в свою же сетку не описан или описан криво, всё валится на default router. Тот переправил куда положено, о чём тебе и прислал ICMP редирект. > И мало того - это сообщение появляется даже при: > fping -a 192.168.1.10 > /dev/null > то есть я вывод команды в черную дыру направляю, а мне оно
У команды есть минимум два вывода - stdout (№1) и stderr (№2). Сообщения об ошибках и предупреждения принято писать в stderr. Перехватывать их можно 2> /dev/null, но не нужно - они тебе не мешают. > Соответственно написанный мной скрипт с использованием fping получился > неработоспособный.
Скорее всего ты в другом месте накосячил. Продолжай ковыряться - разберёшься. Только теорию почитай.
- Пинг группы адресов, Jinx, 16:14 , 06-Янв-12 (5)
Уже исправил, еще вчера. Покопался в sysctl - отключил "ICMP routing redirects", так что все уже работает нормально.Кому интересно - это делаем так:
net.inet.icmp.drop_redirect=1 net.inet.ip.redirect=0 net.inet6.ip6.redirect=0
- Пинг группы адресов, Jinx, 16:21 , 06-Янв-12 (6)
Забыл дописать, а править сообщение не могу - нашел в чем ошибка была: Оказывается что fping возвращает немного непредсказуемый для меня результат. Даже если хоть один хост не пингуется, то "$?" не будет равно нулю - не пингуется только один, или все, мы все равно будем получать "$? -ne 0". В моем случае мне нужно отловить момент когда не пингуются все. Пришлось грепом пользоваться.
|