问题标签 [sharp-snmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
159 浏览

sharp-snmp - Snmp V3 缺少“不在时间窗口内”或“错误的引擎 ID”等异常

我正在尝试处理报告参数过时或错误的情况。例如,如果引擎时间是“旧”(增量时间),我应该收到“不在时间窗口内”异常\错误代码如果引擎 ID 错误,我应该收到“错误引擎 ID”接收 \ 错误代码

我在清晰的 snmp 文档中找不到任何参考。我重现了这样的场景,我没有得到任何错误,错误代码 0,结果以一些随机数据结束。

可以处理\提取这些错误吗?

谢谢。

0 投票
1 回答
163 浏览

snmp - #SNMP - GetBulk V2 请求限制为 100 个结果?

我正在尝试执行以下请求,结果应该是大约 900 个变量,而不是 100 个。我发送 1 或 10 个 oid 并不重要,我总是得到不超过 100 个变量。我做错了什么?

0 投票
0 回答
136 浏览

vb.net - 如何在 vb.net 中使用名称而不是 OID

再会,

我试图从Sharp-snmp 样本中找出这段代码。

https://github.com/lextudio/sharpsnmplib-samples/blob/master/Samples/VB.NET/snmpset/Program.vb

我正在使用 vb.net SET 示例。

我的 Name 语法是错误的,还是它必须是 OID 整数?当我使用它运行的 OID 时,当我使用它的名称时它就死了。

这是 SET 示例的一部分,它在代码底部的 asterix ** 处死亡。Extra(i) 填写的是上面的 Name 而不是 OID。

我一直在使用“名称”而不是“OID”有没有办法改变它可以读取,或者将它们转换?还是我必须回去使用 OID?

0 投票
0 回答
186 浏览

c# - snmp 陷阱监听器 没有消息接收

所以我正在构建一个 snmp 陷阱接收器来接收 snmp 陷阱消息。我正在使用来自 lexstudios 的 sharpsnmp-net 包以及来自 github 的带有 pipline 的 sample.engine。我正在创建一个简单的 wpf 应用程序,仅在屏幕上显示消息以测试 .net 4.7.1 中的所有内容。

所以对于听力部分,我粗略地使用了示例 snmpd。

因此,要接收 snmp 陷阱消息,您还必须发送一个。我有一个带有 IP 地址的端口号组合框的文本框。发送陷阱按钮和启动和停止按钮。

发送陷阱效果很好我可以在wireshark中验证我确实有一个snmp数据包但是icmp回答端口不可达,这意味着没有人在听。->问题1

激活引擎时,我没有任何错误,但关于 icmp,我使用以下命令在 cmd 中签入:netstat -an 检查端口 162 是否正在侦听,但运气不好。

我如何验证引擎是否正常工作或有什么东西在听?我订阅了 message_received 事件,但我没有收到任何可能导致没有人在听的事实。

最后但并非最不重要的一点是,当我按下停止按钮时,我确实收到了一个套接字异常,但没有从 try catch 循环中收到我自己的任何消息 - > 我应该假设这是在包中吗?

如何解决这个问题呢。到目前为止,我只想接收 snmpv1 陷阱消息并将它们存储在数据表中。

0 投票
0 回答
62 浏览

snmp - 使用 SharpSnmp 时,当 V1 中的响应具有尾随数据字节时,SNMP GET snmpexception

查询位于远程网络中的特定供应商设备时,会引发 SharpSnmpLib SNMP V1 GET snmpexception。iReasoning MIB Browser、SNMPB 或 SnmpSharpNet 等其他软件在相同的 OID 和设备上运行良好。

即使设备相同且 OID 相同但位于不同的网络中,错误也会有所不同。似乎在 UDP 数据包的末尾添加了一个数据段。一台设备的错误消息可能是:“ BER end of file ”,而在另一台相同的设备上,错误消息是“不支持的数据类型:34 ”或“不支持的数据类型:115 ”等等。在同一个 OID 但来自不同设备的许多不同数据类型。

ParseMessage 例程中的项目源文件“MessageFactory.cs”中出现错误。如果我发现错误并继续程序运行正常。我忽略了未正确解析的数据字节尾随部分的错误。

MessageFactory.cs ParseMessage 错误

Wireshark 数据包也如下所示:

发生 BER 文件结尾的 SNMP GET 的 Wireshark 捕获

这是另一块完全相同的 SNMP 设备和 OID 上的另一个错误,只是 IP 地址不同。

相同设备和相同 OID 的另一个错误

似乎尾随数据部分会导致 API 抛出错误,因为它不将其识别为有效变量。然而,其他软件包可以处理此问题而不会出现错误消息。除非找到更好的解决方案,否则我将不得不修改 Sharp SNMP 的源代码以使用 API。我的修改涉及捕获错误并继续前进。循环中的第一个变量已经找到并产生正确的值。从第一个变量继续时会发生错误,因为流尚未到达末尾。

0 投票
0 回答
161 浏览

c# - 收到“消息不在 TimeWindow 中!” 发送 snmpv3 陷阱时

我正在尝试使用 MD5Authentication 和 AES 隐私提供程序开发 snmp 陷阱版本 3。我在 Visual Studio 2019 中构建的代理,我正在尝试使用 sharpsnmp 和 snmpsharpnet 库。我正在使用 snmpB 的陷阱接收器。但是我都只收到“消息不在 TimeWindow 中!USMTimeTable:检查时间失败,不是权威(id)”错误。发送 SNMPV3 Inform、SNMPV1 和 SNMPV2 陷阱时没有问题。但是,当使用 net-snmp 命令发送时,会收到 snmpv3 陷阱。我与sharpsnmp 一起使用的源代码是snmpsendtrap 示例;snmpsendtrap 尖锐的snmp。是不是因为在snmpB中没有指定引擎ID,但是为什么net-snmp能够捕获,如果做如何配置engineID。

我用于 net-snmp 的成功陷阱:snmptrap -v 3 -e 80000000035C80B6A55D61 -u username -a MD5 -A 00806000806000806000806000806000 -x AES -X 00806000806000806000806000806000 localhost '' 1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.2.2.1.0 x 0x6669727374

我的sharpsnmp代码部分:

0 投票
0 回答
127 浏览

c# - SNMP V3 创建服务器和客户端的问题 (SharpSnmpLib)

我正在使用 SharpSnmpLib 创建一个 snmp 服务器和客户端。我已经让 V1 和 V2 使用下面的代码,但在 V3 上遇到问题,因为它返回了格式错误的消息。

我的服务器为每个设备创建一个侦听器。这是我的服务器:

这是我的客户:

如果有人能解释为什么这会很好,我可以清楚地得到 V1 和 V2 数据,但没有得到任何 V3 数据。当我为 V3 进行调试时,连接似乎是活动的,但我没有正确地做某事(也许是解密?)

0 投票
0 回答
89 浏览

snmp-trap - Lexm Sharp SNMP:如何接收所有陷阱而不考虑社区字符串

作为初学者,我正在使用 Lexm SharpSNMP( https://docs.sharpsnmp.com/ ) 开发一个 SNMP 陷阱侦听器工具。从示例中,我了解到 V1 陷阱与 Version1MembershipProvider 绑定。

按照以下逻辑,除了给定的社区字符串(公共)之外,我无法接收陷阱。

我的问题:

  1. 就我而言,我有多个具有不同社区字符串的代理,我不想仅将听众限制在公共社区中。有可能吗?

  2. 我知道,社区字符串基本上是为了避免陷阱泛滥,但我相信它应该可以由 SNMP 管理器配置。如果我错了,请纠正我。

谢谢,桑卡尔

0 投票
0 回答
43 浏览

decode - Sharpsnmp 中的编码和解码 SNMP PDU 支持

我想了解 lextm sharpsnmp 库中是否有任何 API 可用于将 SNMPv1/v2c/V3 PDU 编码为字节数组,以及基于字节数组构造 SnmpPdu (SNMP v1/v2c/v3) 的 API。先感谢您