Pingserver

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку

Пингсервер принимает команды на пингование ip-адресов. Пингуются параллельно несколько адресов, поэтому можно пропинговать всю сеть за небольшой промежуток времени. При этом можно получить статистику по потерям.

Кроме обычного пингования, пингсервер может пинговать методом посылки arp-запросов - это почти стопроцентный способ выяснить включен ли компьютер абонента даже если у него стоит фаервол, запрещающий ping или пытающийся сделать компьютер "невидимым" и нереагирующим на любые запросы. Для этого используется утилита arping:

cd /usr/ports/net/arping
make install clean

Запускаем pingserver:

/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &

Проверяем:

curl http://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping

Должны получить cookie данной сессии, проверяем результат:

curl http://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=123456-12345678

Должны получить 0% потерь:

ping: 0.0

Чтобы потери выводились на карту:

cd /usr/ports/www/p5-LWP-UserAgent-WithCache/ && make install clean
cd /usr/ports/security/p5-Crypt-SSLeay/ && make install clean
cd /usr/ports/www/p5-LWP-Protocol-https && make install clean

Автозапуск pingserver-а:

echo '/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &' >> /etc/rc.local