snmp字符串限制?

Mal*_*uri 5 snmp

在我学习SNMP时,我对SNMP字符串操作有一些疑问:

  • 字符串的最大大小是多少?
  • 如果我们对字符串有读取权限,您如何确定大小?
  • 字符串基本上可以接受所有类型的字符(如#$%^&etc).他们怎么能受到限制?

Lex*_* Li 4

SNMP 中没有字符串概念。OCTET STRING 不是真正的字符串(与 Java 和 C# 等高级编程语言相比),因为这种数据结构没有地方存储编码信息。嗯,这真的太可怕了。

最大字符串大小仅受 SNMP 网络数据包大小的限制,因此您应该去 TCP/IP 协议寻求答案。SNMP RFC 没有定义最大长度。

我个人认为 OCTET STRING 是一个字节数组,因此任何字符都可以存储在其中。如果您想限制它们,您应该在 SNMP 代理/引擎实现中执行此操作。当发现“无效”字符时,您可以返回 SNMP 错误。详细信息可参见 RFC 3416 4.2.1。或 RFC 1157,4.1.5。