伙计们,
我需要从Linux命令行使用此命令(snmptrap)将自定义消息发送给陷阱侦听器。 我需要根据用户设置在v1和v2c中发送相同的消息。
这是我发现的。
对于v1:
snmptrap -v 1 -c Tas hostname 1.3.6.1.4.1.2.3 "" 6 3 1234 ss "This is a test"
上述命令的作品,我在我的听众看到以下消息。
Display of SNMPv1 trap: community: Tas enterprise oid: 1.3.6.1.4.1.2.3 ..... ibmAgents agentAddress: hostname generic-trap: enterpriseSpecific ('00000006'h) specific-trap: 3 ('00000003'h) time-stamp: 1234 - 12.34 seconds varBind oid: OBJECT_IDENTIFIER 1.3.6.1.6 name: snmpV2 value: OCTET_STRING This is a test <- Here is my message.
我的监听器基本上是一个AIX系统,运行以下命令。
clsnmp -c public TRAP
对于v2c:我发出这个命令。
snmptrap -v 2c -c "Tas" hostname '1234' 1.3.6.1.4.1.2.3 ss "This is a Test"
该命令不会给我任何错误。 但是对于听众,我看到了这一点。
Display of SNMPv2 trap with SNMPV2C security community: Tas
消息“这是一个testing”没有显示。
我不熟悉snmptrap命令 – 对协议也知之甚less。 我用googlesearch了这个命令。 我的问题…
v2c命令有什么问题吗?
我的听众命令有什么问题吗? 让我知道如果我应该别的东西。 我也可以设置一个Linux监听器。
任何build议是最受欢迎的。 我想保持简单 – 通过snmp向主机v1和v2c发送自定义消息,并设置一个侦听器来validation我的命令是否正常工作。
非常感谢
泰斯
该命令应该是这样的:
snmptrap -v 2c -c "Tas" 127.0.0.1 0 1.3.6.1.4.1.2.3 1.3.6.1.6.1.4.1.2.3.1.1.1.1.1 s "This is a Test"
请注意,作为SNMP陷阱PDU的一部分的varbind(在这种情况下是OCTET STRING)也应该分配一个OID。 我为这个varbind使用了随机的OID: 1.3.6.1.6.1.4.1.2.3.1.1.1.1.1
还请注意,您应该根据MIB文件中的陷阱定义使用适当的OID。
我建议使用企业级SNMP工具来发送SNMP陷阱,如NetDecision陷阱模拟器 。 该工具完全按照SNMP标准发送陷阱,并基于MIB文件定义: