From b679150fc9063ab410c59bfa1d88455ca5126fac Mon Sep 17 00:00:00 2001 From: Michal Date: Tue, 18 Feb 2025 22:17:31 +0100 Subject: [PATCH] =?UTF-8?q?prid=C3=A1no=20tla=C4=8D=C3=ADtko=20na=20SNMP?= =?UTF-8?q?=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jnet/server/ServerMessageParser.java | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/jnet/server/ServerMessageParser.java b/src/jnet/server/ServerMessageParser.java index 2e3beb2..80f9c2f 100644 --- a/src/jnet/server/ServerMessageParser.java +++ b/src/jnet/server/ServerMessageParser.java @@ -26,6 +26,7 @@ import jnet.lib.snmp.DeviceInfo; import jnet.lib.snmp.Interface; import jnet.lib.snmp.SNMPDeviceInfo; import jnet.lib.snmp.SNMPInterfaceScanner; +import jnet.lib.snmp.SNMPTester; public class ServerMessageParser { @@ -57,6 +58,7 @@ public class ServerMessageParser { handlers.put(Message.SERVER_CONFIG, this::handleServerConfig); handlers.put(Message.SNMP_OBJECT_INFO, this::handleSnmpObjectInfo); handlers.put(Message.SNMP_OBJECT_INTERFACE, this::handleSnmpObjectInterface); + handlers.put(Message.SNMP_TEST, this::handleSnmpTest); } public void parse(Message msg) { @@ -395,6 +397,31 @@ public class ServerMessageParser { }; t1.start(); } + + private void handleSnmpTest(Message msg){ + Object[] msg_object = (Object[]) msg.getMsg(); + String frameName = (String) msg_object[0]; + MapObject obj = (MapObject) msg_object[1]; + Thread t1 = new Thread() { + @Override + public void run() { + try { + for (SnmpProfile snmpProfile : Server.snmpProfile) { + if (snmpProfile.getId() == obj.getSnmpProfile()) { + SNMPTester test = new SNMPTester(obj.getIp(), snmpProfile.getPort(), snmpProfile.getCommunityRead(), snmpProfile.getVersion()); + Boolean result = test.testSnmp(); + Object[] o = {frameName, result}; + send(Message.SNMP_TEST, o); + break; +} + } + } catch (Exception ex) { + LogFile.printErr("SNMP error: " + ex.getMessage()); + } + } + }; + t1.start(); + } /** *