我已经为C#中的.net公司开发了一个特殊的应用程序,它已经使用多年了.现在它开发了,我必须实现的一个主要新功能是通过在某些警报情况下向其发送SNMP陷阱来将其与另一个软件集成.
我是一名经验丰富的开发人员,但我从未使用过SNMP.我搜索了一整天,但对这个话题越来越困惑.我没有明确的"起点".我理解SNMP的基础知识,但我不知道在哪里以及如何开始实现.
我有通过SNMP陷阱发送的数据,它有10个属性,一些日期,数字和字符串.我应该在这个属性上创建MIB定义.稍后我应该在我的应用程序中实现一个基于此MIB发送SNMP陷阱的功能.
该项目是在c#的.net 4下开发的.我发现这个库看起来很有希望:http://sharpsnmplib.codeplex.com/ 它有一些关于发送SNMP陷阱的示例.
我的问题是:从哪里开始?如何定义MIB文件?我知道他们是一些必须编译的文本文件,但没有找到任何MIB编辑器和帮助这个主题.
任何帮助表示赞赏!
谢谢!
我在Windows上使用net-snmp C库.我想从MIB文件中解析与陷阱相关的信息.
我需要一些示例代码来执行此操作.我在http://www.net-snmp.org/上找不到任何有用的东西
我正在拼命寻找从PHP生成SNMP陷阱的方法.我知道使用snmpget的方法的构建,但我无法弄清楚如何发送SNMP陷阱.
有人知道它的类/代码片段吗?除了使用exec调用cli工具之外,搜索网络并没有提出任何其他内容,这对我来说绝对没有选择.
我怀疑使用socket_create和相应的功能来手动生成UDP包是必要的...
出于测试目的,我试图使用snmptrap命令生成.1.3.6.1.2.1.43.18.2.0.1陷阱(打印机警报陷阱)。
我对snmptrap命令的语法不满意,所以有人可以向我解释如何正确使用此命令,如果可能的话,专门针对此陷阱?
我在Python3中收到一条SNMP陷阱消息,我得到了一个十六进制数字。
如何将其转换为字符串以便我可以看到它?
接收数据(十六进制)
b'0E\x02\x01\x01\x04\x06404040\xa78\x02\x04\x00\xf6\x17~\x02\x01\x00\x02\x01\x000*0\x0f\x06\x08+\x06\x01 \x02\x01\x01\x03\x00C\x03\x01k+0\x17\x06\n+\x06\x01\x06\x03\x01\x01\x04\x01\x00\x06\t+\x06\x01\x06 \x03\x01\x01\x05\x01'
这是我的 SNMP 陷阱接收器代码
import socket
import sys
port = 162
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", port))
while 1:
data, addr = s.recvfrom(4048)
print(data)
Run Code Online (Sandbox Code Playgroud)
这是我的 SNMP 陷阱发件人代码
from pysnmp.hlapi.asyncore import *
snmpEngine = SnmpEngine()
sendNotification(
snmpEngine,
CommunityData('404040'),
UdpTransportTarget(('192.168.0.160', 162)),
ContextData(),
'trap',
NotificationType(ObjectIdentity('SNMPv2-MIB', 'coldStart')),
)
snmpEngine.transportDispatcher.runDispatcher()
Run Code Online (Sandbox Code Playgroud) 我正在构建SNMP代理,现在正在处理陷阱消息。在开始编写陷阱消息的代码之前,我有一个问题:
在SNMPv1中,具体的陷阱代码是什么?我到处搜索的内容都只是表面上的定义,而我想获得一个深层的定义,其中包含它的可能。
我深入搜索并应用了谷歌的可用解决方案,所有这些解决方案都没有解决问题。在使用 net-snmp 的 Ubuntu 操作系统上运行命令 snmpwalk 时,我不断收到错误消息。以下是我收到的错误消息。您能帮我解决以下错误消息吗?
理想情况下,我想使用以下命令对所有 mibs 文件夹执行 snmpwalk,但该命令不起作用。$ snmpwalk -v2c -c PUBLIC 192.168.10.10 -M /my_MIB_Files/
我想可能是 abc.mib 正在使用其他 mib 文件。为了删除依赖项,我尝试了以下解决方案,但没有一个有效:
我收到以下错误消息: $ snmpwalk -v2c -c PUBLIC 192.168.10.10 -m /my_MIB_Files/abc.mib
MIB search path: /home/user/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (SNMPv2-SMI): At line 13 in /my_MIB_Files/abc.mib
NEW ISSUES NOW AFTER PLACING THE MISSING MODULE IN /usr/share/snmp/mibs:
Attempt to …
什么是perl中最简单的代码来监控任何设备(例如UPS,整流器,AirCond等)的陷阱.例如我们要监控温度,服务器室湿度,空气水平等.每个设备如UPS,里面都有SNMP卡和然后我们推出了陷阱服务器的IP地址.目前我正在使用snmptt开放软件应用程序.