perl: разобраться в характере snmp ответа

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

Ответить
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

perl: разобраться в характере snmp ответа

Сообщение Stauffenberg »

Всем привет.

Да, вопрос звучит немного странно. Я хочу просто разобраться, как так получается, что ответ приходит так быстро, несмотря на то, что мы работаем с UDP.

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

my ($session, $error) = Net::SNMP->session(
        -hostname       =>      shift || $o_host,
        -version        =>      "snmpv2c",
        -community      =>      shift || $o_community,
        -port           =>      shift || 161,
);

unless (defined($session)){
        print "ERROR: No SNMP Response\n";
        exit $states{"UNKNOWN"};
}


С perl я не на столько хорошо знаком, но, если я не ошибаюсь, тут мы делаем обычный запрос на 161 порт. Если ответа нет... имено "ответа нет", а не "получилось ли установить соединение", потому что, как я уже сказал, работаем мы с UDP. Так вот, если ответа нет, то мы получаем ошибку. Получаем её вообще без задержки. Моментально. Если вызвать snmpwalk, то ждать ответа придется намного дольше.
Может создается tcp соединение?

Буду благодарен за любые предположения, идеи и т.д.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: perl: разобраться в характере snmp ответа

Сообщение Bizdelnick »

А разве конструктор делает какой-то запрос?
Почему у Вас скрипт выводит сообщение "No SNMP Response" независимо от значения $error? Логично выводить именно его.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: perl: разобраться в характере snmp ответа

Сообщение Stauffenberg »

Bizdelnick писал(а):
11.11.2014 11:53
А разве конструктор делает какой-то запрос?
Почему у Вас скрипт выводит сообщение "No SNMP Response" независимо от значения $error? Логично выводить именно его.

Скрипт не мой, я просто разместил объяву

Да, Вы правы, похоже, что запрос действительно не был создан... и да - надо читать именно $error.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Ответить