2016-05-17 41 views
2

伙计们,从Linux命令LNE发送SNMP2陷阱消息

我需要使用从Linux命令行命令(SNMPTRAP)送我的自定义消息,陷阱监听器。我需要根据用户设置在v1和v2c中发送相同的消息。

这是我发现的。

对于V1:

snmptrap -v 1 -c Tas hostname 1.3.6.1.4.1.2.3 "" 6 3 1234 s s "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 s s "This is a Test" 

该命令不会给我任何错误。但对听众而言,我看到了这一点。

Display of SNMPv2 trap with SNMPV2C security 
community:  Tas 

消息“This is a Test”未显示。

我不熟悉snmptrap命令 - 对协议也知之甚少。我已经使用了该命令。我的问题...

  1. v2c命令有什么问题吗?

  2. 我的听者命令有什么问题吗?让我知道如果我应该别的东西。我也可以设置一个Linux监听器。

任何建议是最受欢迎的。我想保持简单 - 通过snmp向主机v1和v2c发送自定义消息,并设置侦听器来验证我的命令是否正常工作。

非常感谢

塔斯

回答

2

的命令应该是这样的:

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" 

请注意,变量绑定(在这种情况下OCTET STRING),这是你的SNMP陷阱PDU的一部分,应该也有一个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文件定义发送陷阱: enter image description here

+0

谢谢。该命令起作用。但是,我仍然无法在AIX侦听器中看到消息。这可能是我使用的命令的问题。从Windows查看陷阱消息的好工具是什么? – Tas

+0

Try TrapVision(http://netmechanica.com/products/?prod_id=1003)。这是一种广泛使用的行业标准解决方案。 –

+0

非常感谢。 Trapvision是一个很棒的工具:) – Tas