【发布时间】:2014-10-12 00:48:49
【问题描述】:
我正在尝试在 linux 上使用 SNMPget 来获取有关我网络上设备的信息。我能够在 linux 终端上成功使用 snmpget,但现在想用 perl/python 编写一个脚本并让它为我工作。
SNMPget 示例
snmpgetnext -v 3 -n "" -u USER -a MD5 -A PASSWORD -l authNoPriv 192.168.1.1 sysDescr
我正在尝试在 perl 中做同样的事情,但我似乎找不到任何关于如何做的好文档。 我在互联网上找到的(但这不是 SNMP v3):
$cat snmp
#!/usr/bin/perl
use Net::SNMP;
my $desc = 'sysDescr';
( $session, $error ) = Net::SNMP->session(
-hostname => "192.168.1.1",
-community => "public",
-timeout => "30",
-port => "161"
);
if ( !defined($session) ) {
printf( "ERROR: %s.\n", $error );
exit 1;
}
my $response = $session->get_request($desc);
my %pdesc = %{$response};
my $err = $session->error;
if ($err) {
return 1;
}
print %pdesc;
exit 0;
我尝试将其修改为 snmp v3,但无法修改。有人熟悉这个吗?
【问题讨论】:
标签: python linux perl snmp net-snmp