Explica la diferencia entre las tramas PDU/v1, v2c y v3 Traps.Diferencia de traps SNMP v1, v2c y v3
Respuesta
Esto requiere que revises los documentos de RFC, lo que significa que esto no está relacionado con la programación, y probablemente pertenece a ServerFault.
a dar algunos consejos:
- SNMP v1 define un formato de mensaje de alarma especial, diferente de otros mensajes (como GET). http://tools.ietf.org/html/rfc1157#page-27 Este formato de mensaje ya no se usa en SNMP v2 y v3. Si un agente SNMP envía tales mensajes TRAP para v2 o v3, eso puede ser un error.
- Desde v2, TRAP comienza a usar el formato de mensaje común (lo mismo que GET, etc.). Por lo tanto, se llama SNMPv2-Trap-PDU. http://tools.ietf.org/search/rfc3416#page-22
- SNMP v3 presenta el modelo de seguridad para todos los mensajes, por lo que TRAP también recibe dicha actualización. Todavía se basa en SNMPv2-Trap-PDU.
SNMPv2 define las trampas de una manera ligeramente diferente.
En una MIB, las trampas SNMPv1 se definen como Trap-PDU, las trampas SNMPv2 se definen como NOTIFICATION-TYPE. SNMPv2 también elimina la noción de trampas genéricas, sino que define muchas trampas específicas (hablando correctamente, notificación) en MIB públicas.
SNMPv3 trampas, que son simplemente trampas SNMPv2 con autenticación adicional (basadas en credenciales) (Técnicas de autenticación comunes MD5 o SHA) y capacidades de privacidad (Técnicas de cifrado - DES, 3DES, AES128/192/256).
La mayoría de las implementaciones SNMP solo son compatibles con v1.
A continuación se muestra el código para enviar SNMP4j trampa SNMPv3.
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();
}
}
¿Está el fragmento de arriba para v2? ¿Por qué hay seguridad relacionada en el fragmento? – ifelsemonkey
- 1. auto_ptr Traps and Pitfalls
- 2. ¿Cómo obtener datos de SNMP con python?
- 3. sql: BETWEEN v1 AND v2
- 4. Powershell remoto con V1
- 5. Autodetección de red usando SNMP y .NET
- 6. emulación de dispositivos SNMP
- 7. SNMP: ifAdminStatus vs ifOperStatus
- 8. Biblioteca SNMP para Android
- 9. SNMP: Crear OID personalizado
- 10. Snmp Server para Windows
- 11. Preguntas básicas sobre SNMP
- 12. Definición de SNMP Gauge32 frente a Counter32
- 13. Herramienta de desarrollo SNMP MIB
- 14. Convertir matriz plana [k1, v1, k2, v2] al objeto {k1: v1, k2: v2} en JavaScript?
- 15. sysuptime en snmp
- 16. Generar trampas SNMP con PHP
- 17. Referencia para Net-SNMP API?
- 18. Cómo puedo escribir un agente SNMP o una DLL del agente de extensión SNMP en C#
- 19. Defina MIB y envíe SNMP trap en .net
- 20. Introducción a la supervisión de SNMP
- 21. zoom y el centro de un mapa de Google según sus marcadores (JavaScript API V3)
- 22. String de Java análisis - {k1 = v1, v2 = k2, ...}
- 23. ¿Cuál es la diferencia entre "marker.setVisible (false)" y "marker.setMap (null)" en Google Maps v3?
- 24. Extraiga el tiempo de un UUID v1 en python
- 25. GlassFish v3 y glassfish-maven-plugin (Mac)
- 26. Administrando Cisco programáticamente; Telnet vs SNMP?
- 27. ¿Cuál es la mejor herramienta de monitoreo SNMP de fuente abierta?
- 28. ¿Biblioteca de cliente SNMP fácil de usar para C++?
- 29. Esquema de la base de datos para almacenar datos SNMP
- 30. hibernate, mysql, glassfish v3 y origen de datos JTA
Referente a "Si un agente SNMP envía tales mensajes TRAP para v2 o v3, eso puede ser un error". @ lex-li ¿tiene alguna referencia o url para este comentario? Gracias. – k1eran
Esa es mi visión personal basada en RFC1157 y RFC3416. Dado que en este último se define un nuevo formato de mensaje TRAP, el formato anterior en el primero debe estar completamente obsoleto. En realidad, sí sabía que algunos dispositivos envían el formato anterior para SNMP v2 (un usuario de la biblioteca #SNMP me lo informó), pero creo que debería ser un error del firmware. –
Probablemente, # 3 arriba, es la razón, Wireshark muestra tales paquetes como 'msgVersion: 3' en el encabezado y' snmpV2-trap' en 'msgData' (después de descifrar) – vyom