snmp - 允许使用 LWIP 从 SNMP 代理发送的八位字节字符串的最大长度

标签 snmp asn.1 mib lwip xilinx-edk

我正在尝试使用 Xilinx SDK 中的 LWIP 库在设备上实现 SNMP 代理。

我成功实现了代理并让代理在我的设备上运行以响应命令(snmpget、snmpset、snmpwalk)。

但是,如果 OID 必须返回长度 > 255 的八位字节字符串,则代理行为可疑。 当我尝试传递长度 >255 的八位字节字符串时,我没有收到关于该 oid 的数据,之后代理断开连接,并且不会响应任何进一步的命令。

长度 <255 的 snmp 八位字节字符串被​​正确接收,没有问题(没有问题).. 我想知道 LWIP SNMP Agent 是否对八位字节字符串的大小有限制..??

最佳答案

我找到了解决方案...!!!

在文件 src\lwip-1.4.0\src\core\snmp\msg_in.c 中,处理传入消息的是将字符串的长度从 u16_t 转换为 u8_t。它表示该范围现已弃用为 (0-255)。所以问题。

我将限制我处理长度 > 255 的八位字节字符串的 u8_t 更改为 u16_t。

现在 LWIP 库能够处理长度 > 255.. 的消息

谢谢..!!!

关于snmp - 允许使用 LWIP 从 SNMP 代理发送的八位字节字符串的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27396666/

相关文章:

iphone - 如何在运行时确定应用程序是用于开发、应用程序商店还是临时分发?

c - snmpwalk 无法遍历带有 "accessible-for-notify"项的表

c - 了解onesixtyone SNMP工具

c - 在 ANSI C 中表示 BER TLV 数据结构?

windows - SNMP 子代理开发

java - 如何检索现有 Jboss RHQ 服务器上的 SNMP 配置?

c# - 使用 WMI 监视远程计算机上的带宽

c++ - ASN1C DER解码器

linux - 如何查看net-SNMP库设置的环境变量?

perl - snmpget 未触发 net-snmp perl 子代理