【发布时间】:2014-02-21 16:57:53
【问题描述】:
我正在使用 Java 语言开发 SNMP 管理器。我目前正在开发由 Netty 支持的自定义 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 的值,但是他们是如何找到应用程序上下文值的?我不想参考答案,我想知道如何自己查看数据包找到答案。
您可能会说,我是整个协议分析和网络应用领域的新手,所以如果您有任何其他相关资源,我也很乐意查看这些资源:)。
提前感谢您的帮助!
【问题讨论】:
标签: java networking protocols netty asn.1