SNMP4J を使用して、SNMP でデバイスの情報を読み取ります。システム名 (OID iso.3.6.1.2.1.1.5.0) を STRING ではなく Hex-STRING で表すデバイスがいくつか見つかりました。
システム名を表示するには、次のコードを使用します。
Variable var = response.getVariable(new OID(".1.3.6.1.2.1.1.5.0"));
System.out.println(var.toString());
response は PDU オブジェクトです。
システム名が STRING 値として表されている場合、これは予想どおりです。Hex-STRING として表される場合は、Hex 値を出力するだけです。
例:
システムの名前を「SYSTEM NAME」とします。
STRING を使用すると、「SYSTEM NAME」が出力されます。
Hex-STRING を使用すると、「53:59:53:54:45:4d:20:4e:41:4d:45」と出力されます
コマンド ラインで snmpwalk を使用すると、-Oa フラグを使用できます。これにより、すべての Hex-STRING 値が STRING として表示されます。SNMP4J でこのフラグを使用することは可能ですか、または同様のオプションはありますか?