V1、V2Cおよびv3トラップPDU /フォーマットの違いを説明します。SNMP V1、V2Cおよびv3トラップ差
9
A
答えて
6
これは、これは、関連するプログラミング、そしておそらくServerFaultのに属していないことを意味する、RFC文書を通過する必要があります。
はあなたにいくつかのヒントを与える:
- SNMP v1のは、(GETなど)他のメッセージとは異なる特殊なトラップメッセージのフォーマットを定義します。 http://tools.ietf.org/html/rfc1157#page-27このメッセージフォーマットは、SNMP v2およびv3ではこれ以上使用されません。 SNMPエージェントがv2またはv3用のTRAPメッセージを送信すると、バグになる可能性があります。 V2ので
- 、TRAPは、(GETなどと同じ)の一般的なメッセージフォーマットを使用し始めます。したがって、SNMPv2-Trap-PDUと呼ばれます。 http://tools.ietf.org/search/rfc3416#page-22
- SNMP v3はすべてのメッセージにセキュリティモデルを導入し、そのTRAPは、あまりにも、このような更新を受け取ります。これはまだSNMPv2-Trap-PDUに基づいています。
2
SNMPv2は、トラップをわずかに異なる方法で定義します。 MIBにおいて
は、SNMPv1トラップがトラップPDUとして定義され、SNMPv2のトラップはNOTIFICATION-TYPEとして定義されます。 SNMPv2は、代わりに汎用トラップの概念を廃止し、パブリックMIBで多くの特定のトラップ(適切に言えば通知)を定義します。
SNMPv3トラップは、認証(クレデンシャルベース)(共通認証手法MD5またはSHA)とプライバシー機能(暗号化手法 - DES、3DES、AES128/192/256)を追加したSNMPv2トラップです。
ほとんどのSNMP実装のサポートのみv1の。以下は
のSNMPv3トラップを送信するためにSNMP4jコードです。
public void sendTrap_Version3() {
//TrasportMapping
TransportMapping transport;
try {
transport = new DefaultUdpTransportMapping();
transport.listen();
//Creating SNMP object
snmp = new Snmp(transport);
//Creating USM
USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0);
SecurityModels.getInstance().addSecurityModel(usm);
// Add user to the USM
snmp.getUSM().addUser(
new OctetString("MD5DES"),
new UsmUser(new OctetString("MD5DES"), AuthMD5.ID, new OctetString("MD5DESUsrAuthPwd"), PrivDES.ID,
new OctetString("MD5DESUsrPrivPwd")));
// Create the target
Address targetAddress = GenericAddress.parse("udp:10.120.7.107/162");
UserTarget target = new UserTarget();
target.setAddress(targetAddress);
target.setRetries(3);
target.setTimeout(5000);
target.setVersion(SnmpConstants.version3);
target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
target.setSecurityName(new OctetString("MD5DES"));
// Create PDU
ScopedPDU pdu = new ScopedPDU();
pdu.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTic(new Date().toString())));
pdu.add(new VariableBinding(SnmpConstants.snmpTrapOID,SnmpConstants.linkDown));
pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress, new IpAddress("127.3.4.1")));
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.2.2.1.1.1"), new Integer32(1)));
pdu.setType(ScopedPDU.TRAP);
snmp.send(pdu, target);
} catch (IOException e) {
e.printStackTrace();
}
}
+0
上記のv2のスニペットはありますか?スニペットに関連するセキュリティはなぜですか? – ifelsemonkey
関連する問題
- 1. トリガーカウントSNMPトラップ
- 2. SNMP v1 - エージェントIP
- 3. #SNMP - SNMP V3のプライバシープロバイダサポート
- 4. SNMP v1 v2 v3で設定ファイルが異なる
- 5. IPv6アドレスへのSNMPトラップ
- 6. C#Snmpトラップ送信者
- 7. シンプルなApache Camel SNMPトラップ
- 8. SNMPトラップでテーブルインデックスを送信する
- 9. westhawk snmpスタックでトラップを受信
- 10. サポートが必要:SNMPトラップ送信者(SNMPv3)
- 11. PythonでのNET-SNMPトラップ処理
- 12. Webページ(jsp)にSNMPトラップを表示
- 13. SNMP4J-2.2.2&SNMP V3のサポート
- 14. タイル付きJavaおよび視差
- 15. PostgreSQLの行差分タイムスタンプ、およびグループ
- 16. 時差の計算AndroidおよびiOS
- 17. 異なる認証タイプの同じユーザを設定すると、snmp v3のトラップが機能しない
- 18. 異なるIPにSNMPトラップを送信する方法
- 19. NagiosでSNMPトラップ監視を設定する
- 20. Datastax Opscenter 6.0がSNMPトラップを送信しない
- 21. MIBの定義と.netの下のSNMPトラップの送信
- 22. PowerShellでSNMPトラップを送信するには?
- 23. NLogはターゲットとしてsnmpトラップを送信できますか?
- 24. 断続的なアプリケーションクラッシュ:JQM Beta 3、Google Maps v3、およびMVC
- 25. Googleマップを取得するv3エリア、周長、および長さ
- 26. Docker Compose v3およびリンク環境変数
- 27. Square ConnectのHTTP V1およびV2エンドポイントは互換性がありますか?
- 28. Zabbixサーバ3:特定のSNMP OID項目を監視するためのSNMPトラップの使用
- 29. 多対多および多対多の交差点
- 30. ユニオン、交点および差異のJavaコレクションメソッド
「SNMPエージェントがv2またはv3のトラップメッセージを送信すると、バグになる可能性があります。」 @ lex-liあなたはこのコメントのための参照やURLがありますか?ありがとう。 – k1eran
これは私の個人的な見解で、RFC1157とRFC3416に基づいています。新しいTRAPメッセージフォーマットは後者で定義されているので、旧式のフォーマットは完全に時代遅れになるはずです。実際には、一部のデバイスがSNMP v2の古いフォーマットを送信していることを知っていましたが(#SNMPライブラリユーザーがそれを報告しました)、ファームウェアのバグであるはずです。 –
おそらく、上記の#3が原因ですが、Wiresharkはヘッダーに 'msgVersion:3'、' msgData'に 'snmpV2-trap'というパケットを表示します(解読後) – vyom