我正在使用Java语言在SNMP管理器上工作。我目前正在研究一种由Netty的强大功能支持的定制ASN/BER编解码器。我做了一个体面的方式,理解低层次的东西,但是我从来没有使用过协议分析。我真的不明白如何解密我可以使用的数据包中的信息。如何解码ASN/BER数据包
现在就具体问题。我知道类型信息以十六进制值编码到数据包中,通过查看SNMP陷阱数据包的Wireshark输出,我能够识别数据包中存在的类型。我不明白的是我怎样才能找到上下文信息?像这样:
(来自JoeSnmp两者)
public static final byte OCTETSTRING = (byte) 0x04;
public static final byte APPLICATION = (byte) 0x40;
public static final byte SMI_IPADDRESS = (ASN1.APPLICATION | 0x00);
我已经能够通过看SMI RFC找到OCTET_STRING的价值,但他们是如何找到应用程序上下文值?我不想要参考答案,我想知道如何找到答案,我自己看着数据包。你可能会说,我是整个协议分析和网络应用领域的新手,所以如果你有任何其他相关资源,我也很乐意看看那些:)。
在此先感谢您的帮助!
谢谢你的深思熟虑和翔实的答案,它帮助清除了一些东西! –