Ich implementiere den pysnmp-Code für snmpv3 und versuche, einen Trap an einen Computer in meinem Netzwerk zu senden. Ich kann sehen, dass die Falle in Wireshark gesehen wird, aber sie taucht nicht in meinen Fallenempfängern auf. Der Code ist wie folgt:PySNMP SNMPV3 Trap wird nicht gesendet
from pysnmp.hlapi import *
errorIndication, errorStatus, errorIndex, varBinds = next(
sendNotification(
SnmpEngine(OctetString(hexValue='8000000001020304')),
UsmUserData('usr', authKey='authh', privKey='privv',
authProtocol=usmHMACSHAAuthProtocol,
privProtocol=usmAesCfb128Protocol),
UdpTransportTarget('192.168.1.79',162),
ContextData(),
'trap',
NotificationType(ObjectIdentity('SNMPv2-MIB', 'authenticationFailure'))
)
)
if errorIndication:
print(errorIndication)
Wenn ich authkey, PrivKey, authProtocol und privProtocol entfernen, kann ich die Fallen sehen in der Trap-Empfänger empfangen wird, aber wenn ich sie alle in setzen, sehe ich nicht die Fallen.
Meine Fragen sind:
- Muss ubuntu seine 161 und 162 Ports für Windows-Maschine, sie zu empfangen öffnen?
- Selbst mit einer fest codierten Engine-ID kann ich eine Trap ohne Authentifizierung senden, aber ist im Falle einer vollständigen Authentifizierung die korrekte Engine-ID erforderlich? Ist das der Grund, warum die Falle nicht auftaucht? Wenn ja, kann mir jemand helfen, die Motor-ID des Empfängersystems zu finden?
- Können wir sicher sagen, dass, da Wireshark klar sieht, dass die Falle durchkommt, es nur eine Frage der Konfiguration auf dem Trap-Empfänger ist, um die Falle zu zeigen?
Bitte helfen Sie mir dabei.
Vielen Dank.