Cisco SMB (スモール ビジネス スイッチ) にクエリを実行して、そのホスト名を読み取ろうとしています。
私のコードは「タイム ウィンドウ (1.3.6.1.6.3.15.1.1.2.0) ではありません」を返します。
Net-Snmp は正常に動作します。私がwiresharkを使用して見つけた違いは、net-snmpがタイムウィンドウエラーを受信した後にmsgAuthorativeEngineTimeを設定することです。
Discovery discovery = Messenger.GetNextDiscovery(SnmpType.GetRequestPdu);
ReportMessage report = discovery.GetResponse(60000, new IPEndPoint(IPAddress.Parse("10.105.9.10"), 161));
OctetString username = new OctetString("test");
var auth = new SHA1AuthenticationProvider(new OctetString("Testtest123!"));
var priv = new DESPrivacyProvider(new OctetString("Testtest123!"), auth);
// read switch hostname
GetRequestMessage request = new GetRequestMessage(VersionCode.V3, Messenger.NextMessageId, Messenger.NextRequestId, username, new List<Variable> { new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.5.0")) }, priv, Messenger.MaxMessageSize, report);
ISnmpMessage reply = request.GetResponse(60000, router); (not in time window)
Sharp-snmp の Wireshark スクリーンショットを見つけてください。
ご協力ありがとうございました!