我用 C# 创建了这个按钮:
private void sendTrapBtn_Click(object sender, EventArgs e)
{
Messenger.SendTrapV1(new IPEndPoint(IPAddress.Parse("172.29.16.200"), 162),
IPAddress.Parse("172.29.16.203"), // my machine
new OctetString("MNTCORPRD"),
new ObjectIdentifier("1.3.6.1.4.1.791"),
0,
0,
0,
new List<Variable>());
}
我可以看到我可以选择提交者IP、目标IP、SNMP社区字符串、企业OID、通用OID、特定OID,但我不知道如何使用变量列表将OID嵌入一些信息像:
OID: 1.3.6.1.4.1.791.0.1.4.1 Type: Integer Data: 2345
OID: 1.3.6.1.4.1.791.0.1.4.2 Type: String Data: "DB Error occurred"
收到的陷阱示例。
Trap identifier 1.3.6.1.4.1.791.2.10.2.90.6.1
Trap var bind data:
OID: 1.3.6.1.4.1.791.2.10.2.90.0 Value: application Process
OID: 1.3.6.1.4.1.791.2.10.2.90.1 Value: Cluster.exe
OID: 1.3.6.1.4.1.791.2.10.2.90.2 Value: Running
我怎样才能做到这一点?一个例子就足够了!
最佳答案
我通过自己的测试找到了答案,我将分享这些知识!
要在陷阱中创建 varbind 变量,您需要首先创建 Lextm.SharpSnmpLib.Variable。
创建列表并发送陷阱后。
Lextm.SharpSnmpLib.Variable oid = new Lextm.SharpSnmpLib.Variable(new ObjectIdentifier("1.3.6.1.4.1.9999.0.0.1"),new OctetString("Cluster.exe"));
List<Variable> oidList = new List<Variable>();
oidList.Add(oid);
Messenger.SendTrapV1(new IPEndPoint(IPAddress.Parse("172.29.16.200"), 162),
IPAddress.Parse("172.29.16.20"), // my machine
new OctetString("MNTCORPR"),
new ObjectIdentifier("1.3.6.1.4.1.9999"),
0,
0,
0,
oidList);
关于c# - SharpSnmpLib SendTrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32407903/