1.无法创建SNMPv3会话
我使用NET::snmpv2库发送snmpv3,trap.It与snmpv1和snmpv2一起工作很好,但是我无法发送snmpv3陷阱。我使用Mg-软诱捕器接收陷阱,但我甚至无法创建一个会话。
snmpv3会话创建代码:
my ($session, $error) = Net::SNMP->session(
-hostname => 'my_host_name',
-version => '3',
-username => 'user-md5',
-authprotocol => 'md5',
-authpassword => 'abcd1234'
);这里的用户名是安全用户名添加到Mg-软陷阱林格.为什么我不能创建session.Or,请建议我如何接收通过NET::SNMP库发送的snmpv3陷阱。
2.无法发送SNMPv3陷阱
我能够用我在某个地方找到的一些陷阱接收器snmp服务器配置为snmpv3创建会话。但是,在使用NET::SNMP库发送陷阱时,我得到了以下错误:
必须是生成SNMP 2-Trap-PDUdf的权威SNMP引擎。
下面是我使用的代码片段:
my $OID_sysContact = '1.5.2.9.4.6.6.5.4';
my $result = $session->snmpv2_trap(
-varbindlist => [ $OID_sysContact, OCTET_STRING, 'Help Desk x911' ],
);请给我建议一下为什么我会犯这个错误。
发布于 2017-11-16 06:45:47
就SNMPv3而言,我从您的片段中看到了一些缺失的字段。
我怀疑为什么Net::SNMP没有v3连接的安全级别字段。有三个级别的安全性- noAuthnoPriv、authNoPriv和authPriv。基于这些级别,可以形成SNMPv3连接请求。
首先,在连接请求中,您只拥有与身份验证相关的信息,而没有关于隐私协议/隐私密钥的任何信息。其次,我建议您使用版本值作为snmpv3,而不是只使用3。
对于陷阱部分,似乎发送方必须是权威的SNMP引擎-- Net::SNMP模块还不支持它。以下引用自Net::SNMP
snmpv2_trap() -向远程管理器发送SNMP 2-陷阱 注意:此方法只能在对象的版本设置为SNMPv2c时使用。SNMPv3 2-陷阱-PDU是由SNMPv3支持的,但是要求消息的发送方是一个权威的SNMP引擎,而当前Net::SNMP模块不支持它。
https://stackoverflow.com/questions/47287447
复制相似问题