Perl: проверка TCP-сокета на удалённой машине

Date August 23rd, 2012 Author Vitaly Agapov

В этой крохотной заметке я оставлю маленький сниппет Perl-кода, который позволяет проверить, открыт ли на удалённой машине определённый порт. Пригодиться это может в первую очередь для всяких мониторинговых целей, когда, например, нам нужно проверить, жив ли демон на удалённой машине (да и сама удалённая машина), и при этом нам для этого достаточно проверить, слушает ли этот демон свой порт.

CPAN как обычно предложил варианты решения задачи, и я для себя выбрал модуль IO::Socket. Вот сам сниппет:

use IO::Socket::INET;
my $sock = IO::Socket::INET->new( PeerAddr => $host_ip,
        PeerPort => $host_port,
        Proto    => 'tcp',
        Timeout  => 2,
        );
if ($sock) {
        print "Socket is up";
        $sock->close();
}
else {
        print "Socket is down";
}

Tags:
Category: Perl | No comments »

Comments

Leave a comment

 Comment Form