问题标签 [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 投票
1 回答
286 浏览

exception - SharpSnmpLib 使用库 SharpSnmpLib 的 SNMP 读取异常

执行 snmp get 时出现异常。

这是给出异常的数据包的 Wireshark 转储:

给出异常的数据包的wireshark转储

Lexm.SharpSnmpLib.SnmpException:数据构造异常 ---> System.ArgumentException:32 位整数编码的截断错误。参数名称:长度

0 投票
0 回答
155 浏览

c# - 在 foreach 循环中赋值的意外结果 - sharpsnmplib

我正在寻找以下问题的解释:我使用sharpsnmplib 与网络上的设备进行通信。如果我将结果分配给“外部”变量,则 Messenger.Walk 方法的结果包含零个元素,如果我在方法内部分配结果并返回它,则该方法具有正确的结果。

我觉得我错过了一些非常明显的东西,但我找不到它。更有趣的是,以下错误代码在 200 个网络上“有效”,但在特定网络上的某些设备上存在问题。

更新:我忘记了这一点:sharpsnmplib 的 Messenger.Walk 将 List 作为参数,并将其结果添加到其中。 https://github.com/lextm/sharpsnmplib/blob/038a3a0272f688075f573490721194e40cd56e3f/SharpSnmpLib/Messaging/Messenger.cs#L689

“不可靠的代码”:

有效的代码:

0 投票
0 回答
461 浏览

snmp - 如何解析使用 sharpsnmplib 处理的 snmp 陷阱

使用提到的翻译示例https://stackoverflow.com/a/12278067/10955742我们无法解析陷阱消息。该示例更多地讨论了加载模块和解析对象树。现在这些模块文件是什么这些 MIB 文件?

我想解析收到的陷阱。我正在使用 sharpsnmplib 设置我的 snmp 管理器和 snmptrapd

0 投票
0 回答
631 浏览

udp - 使用snmp广播发现打印机可以吗

我正在编写一个 C# 程序,使用开源#SNMP 库(https://github.com/lextm/sharpsnmplib)通过 SNMP 监控 LAN 上的所有打印机。
它用于发现 SNMP 设备的方法是通过 UDP 广播到整个网络(IPAddress.Broadcast = 255.255.255.255)。
我听到并阅读了网络管理员关于广播是一种不好的做法的抱怨,应该通过各种方式避免,因为网络配置不当,可能会使网络泛滥成灾。
因此,作为一种替代方法,我在循环中尝试了同一个库的 Messenger.Get 方法,向本地子网范围内的每个 ip 发送单播请求。在那里我还遇到了一个问题——在循环中使用非异步 Get 方法花费的时间太长。并且该方法的异步兄弟 GetAsync 永远挂起,等待来自所有空 IP 的响应,无法取消任务或指定超时。
我会感谢任何能给我指明正确方向的人。

编辑:
我目前使用 Ping.SendPingAsync 快速连续 ping 子网中的所有 ip,然后向响应 ping 的人发送 SNMP Get。但我不确定我是否可以相信所有打印机都能响应 ping。任何人都可以澄清这一点吗?

0 投票
1 回答
1118 浏览

c# - 使用 SharpSnmpLib BulkWalk 方法执行 SNMP walk

我正在尝试检索连接到网络的设备的 MAC 地址。我的目标是执行 WALK,然后按触发事件的端口号搜索结果。

我首先通过 GetRequestMessage(成功)获取端口信息。然后我尝试执行步行以获取 MAC 地址表。我没有得到任何错误或异常,但我也没有得到任何结果。

我哪里错了?

编辑

另外,我将此资源用作指导。

0 投票
0 回答
503 浏览

c# - 如何获取oid类型OctetString的值

我正在尝试使用 Lexm.SharpSnmpLib.Messaging 从 Snmp 设备获取 OID 值(以字符串格式)。对于正常的 OID 值,它可以正确显示,但是在转换为包含('-')的 Mac 地址时,它不能正确转换并显示“\u0000 k???” 任何转换建议,这里是附加的代码。

OID 值:ABC

OID 值:00-20-6B-93-EC-81

预期的

OID 值:00-20-6B-93-EC-81

0 投票
0 回答
429 浏览

c# - SharpSnmp:从模拟器代理获取 OID 或 MIB

如何从代理获取 OID 或 MIB,如 snmpd 示例所示开始?


我刚开始学习snmp。首先,学习计划是创建任何代理模拟器和一个简单的客户端来查询代理的一些信息。

在下载并稍微探索snmpd示例之后,我可能成功地使用SharpSnmpLib.Engine创建了一个“hello world”代理。它似乎正在侦听传入的请求。

但是,现在我正在努力创建一个客户端,该客户端将从该代理获取任何信息。更具体地说,我如何从新创建的代理中获取 OID 或 MIB,以便可以向它发送请求?


snmpd使用SharpSnmpLib.Engine。我的代码和这里一样:

sharpsnmplib-samples/Samples/CSharpCore/snmpd/Program.cs

谢谢!

0 投票
1 回答
682 浏览

sharp-snmp - 正确解析 MAC 地址

当我使用 snmp-walk 或 snmp-get 等工具查询返回类型为 MacAddress 的 OID 时,它总是将数据解析为 HexString 并正确显示。即使他们没有加载 MIB,它仍然可以工作。

但是,我似乎无法从Lextm.SharpSnmpLib (11.2.0). MacAddress 的数据类型未正确解码,将其转换为正确的 MAC 是一个手动过程。

结果不正确

我做错了什么还是这就是图书馆的工作方式?


0 投票
2 回答
582 浏览

c# - 在 SharpSnmpLib v11.2 中找不到监听器

我使用从 Nuget.org 获取的 SharpSnmpLib v11.1 为 SNMP 陷阱设置了监听器。我注意到此软件包已更新到 v11.2。当我更新时,不再有对 Listener 的引用。

我在文档中找不到此功能已移动到的位置。此功能已移至何处?

根据此处的说明我在此处使用适当的标签发布我的问题。

更新

我知道监听器已被删除,我正在寻找监听 Trap 消息的函数。

更新 2

这是我在使用 Nuget 包管理器执行更新后看到的 代码截图

0 投票
2 回答
90 浏览

snmp - 当 GetNextRequestMessage 使用 #SNMP 时,GetRequestMessage 无法正确回复

我最近一直在使用#SNMP 库。我的问题是每当我向代理发送 GET 请求时,它都会回复 NoSuchObject ,但是当我尝试 GETNEXT 或 GETBULK 请求时,它工作得很好。我确实做了与 github 上的示例代码相同的操作。我想知道为什么 GET 请求不起作用而 GETNEXT 起作用。