【发布时间】:2016-01-07 10:27:59
【问题描述】:
我正在尝试使用 Net::SNMP 模块修改使用 SNMPv2 的脚本以改用 SNMPv3。
#Define SNMP session
($session, $error) = Net::SNMP->session(
-hostname => shift || $hostname,
-version => "snmpv3",
-username => "user",
-authprotocol => "md5",
-authkey => "password123",
-privprotocol => "des",
-privkey => "password123"
);
当我执行上述操作时,我收到一条抱怨说私钥不是十六进制的:
The privKey "password123" is expected in hexadecimal format
所以我做了一个十六进制转换:
$privkey = unpack "H*", "password123";
但后来我收到关于字符串长度的投诉:
The CBC-DES privKey length of 10 is invalid, expected 16
有人给点建议吗?我正在努力提高安全意识并使用 SNMPv3,但它引起了如此多的头痛,以至于我很想能够做到这一点并回到 2c。
哦,当使用完全相同的凭据执行 snmpwalk/snmpget 时,这在 CLI 上也能完美运行。
【问题讨论】:
-
$privkey = unpack "H16", "password123";有什么不同吗? -
类似错误:CBC-DES privKey 长度为 8 无效,预期为 16