在学习SNMP的过程中,我对SNMP字符串操作有一些疑问:
- 字符串的最大长度是多少?
- 如果我们有字符串的读取权限,您如何确定大小?
- 该字符串基本上可以接受所有类型的字符(如
#$%^&
等)。如何限制它们?
最佳答案
在 SNMP 中没有字符串概念。 OCTET STRING 不是真正的字符串(与 Java 和 C# 等高级编程语言相比),因为这种数据结构没有地方存储编码信息。嗯,这真的太可怕了。
最大字符串大小仅受 SNMP 网络数据包大小的限制,因此您应该到 TCP/IP 协议(protocol)中寻求答案。 SNMP RFC 没有定义最大长度。
我个人认为 OCTET STRING 是一个字节数组,因此任何字符都可以存储在其中。如果您想限制它们,您应该在 SNMP 代理/引擎实现中执行此操作。当发现“无效”字符时,您可以返回 SNMP 错误。详细信息可参见 RFC 3416 4.2.1。或 RFC 1157, 4.1.5。
关于snmp 字符串限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458116/