我正在使用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的價值,但他們是如何找到應用程序上下文值?我不想要參考答案,我想知道如何找到答案,我自己看着數據包。你可能會說,我是整個協議分析和網絡應用領域的新手,所以如果你有任何其他相關資源,我也很樂意看看那些:)。
在此先感謝您的幫助!
謝謝你的深思熟慮和翔實的答案,它幫助清除了一些東西! –