【发布时间】:2016-12-05 14:49:41
【问题描述】:
我对 Net::SNMP 有疑问。
当我在做一个 unix snmpwalk 时:
snmpwalk -v 2c -c commu_key IP.XXX.XX.XX 1.3.6.1.4.1.9.9.42.1.2.2.1.2.XXX
我明白了:
SNMPv2-SMI::enterprises.9.9.42.1.2.2.1.2.3279 = Hex-STRING: 07 9F F4 XX
Hex-STRING 是一个 IP,每个空格是一个点。
但是当我在我的脚本中使用 Net::SNMP 时:
my ($session, $error) = Net::SNMP->session(
-hostname => $ip,
-community => 'commu_key',
);
if (!defined $session) {
return 0;
}
my $result = $session->get_request(-varbindlist => [ $oid ],);
if (!defined $session) {
return 0;
}
my $ex = $result->{$oid};
但 $ex 值是:
$ex = 0x079ff4aXX
但我希望它像 snmpwalk :/
有人可以帮我吗?
【问题讨论】:
-
所以你想输出
07 9F F4 XX而不是0x079ff4aXX? -
@ThisSuitIsBlackNot yes exaclty
-
a发生了什么?您的值中有九个十六进制字符。它到底是什么样子的? -
如果
a是一个错字并且不应该存在,这将满足您的需求:$ex =~ s/^0x//; $ex = join ' ', $ex =~ m/../g; -
@stevieb:有趣。你怎么会知道这事?你和 OP 一起工作吗?