小编Mic*_*l01的帖子

解码SNMP PDU - 从哪里开始?

你好我这里的第一个问题,需要一点指导.

我正在研究一个主要用于解码SNMP PDU的数据包嗅探器,但是我并不完全确定它在哪里.

简单地说,我的数据包嗅探器可以从数据包中提取信息,但我对数据有效负载字段感兴趣.它是用C++编写的,我使用的是winsock.

我该怎么办呢?SNMP字段是用基本编码规则编码还是我必须深入研究ASN.1?

我只想将数据有效负载字段中的那些SNMP字段解码为人类可读的形式.它们将被转储到文本文件中.所以我也会考虑解码OID.我正在验证所有内容,因为我使用Wireshark并使用GETIF查询我的SNMP节点.

任何指导表示赞赏.

编辑:

感谢user1793963非常好解释.对所有标记为过宽的人抱歉.

要详细说明我的原始问题,任何人都可以解释PDU本身的初始部分.

示例:我的程序输出这些十六进制值30 82 00 A3 02 01 00,即SEQUENCE(30),LENGTH(82)和另外两个值.这是来自GetRequest PDU.

GetResponse PDU 在LENGTH中显示这些值30 81 B7 02 01 00,SEQUENCE,81和另一个值.

有人可以解释以粗体标记的值.如果它使用简单的TLV结构,那么代表什么值?我所知道的是序列(30)的开始和总PDU长度(82和81),我知道02 01 00在LENGTH和VERSION 0中是INTEGER 1但是我不理解00 A3(GetRequest)和B7 (的GetResponse).这些值代表什么?非常感谢.

我也使用Wireshark来检查值,但是它们没有说明PDU序列的开始

decode snmp asn.1 ber

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

asn.1 ×1

ber ×1

decode ×1

snmp ×1