C# SNMP数据包格式
我已经尝试了解SNMP数据包格式有一段时间了,但我仍然不确定我是否了解它。以下是一些我认为正确的观察结果,但我不确定:C# SNMP数据包格式,c#,udp,snmp,packet,C#,Udp,Snmp,Packet,我已经尝试了解SNMP数据包格式有一段时间了,但我仍然不确定我是否了解它。以下是一些我认为正确的观察结果,但我不确定: 每个数据包是一组不同类型的嵌套数据原语,由一个类型、一个长度和一些数据组成 OID的前两个部分总是1.3,并被编码为单个字节 如果后续部分的数值小于128,则将其编码为每个字节 大于127的OID部分被编码成多个字节,其值由7个最低有效位确定,最高有效位设置为1,但最后一个字节除外 有些数据类型ID是官方的(整数、字符串等),但有些是专有的和特定于设备的 我真的不明白的一点是,
1.3
,并被编码为单个字节有人能帮我澄清一下吗?我上面的观察结果是否正确?SNMP是使用。有一种描述它的方法;X.690涵盖了基本的二进制编码。这些文章中的信息非常模糊和混乱,因此我提出了一个问题要求澄清。您似乎错过了SNMP使用ASN.1的关键点,特别是BER编码。Wikipedia文章I链接到了this:,它链接到this:,它给出了编码的详细概述,以及各种数据类型的示例编码。