From 482902f6e42f9941c5ba2d86ca955f0968845f5f Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Thu, 4 Jul 2024 16:55:57 +1000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8C=20SNMP=20work=20#718?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/plugins/snmp_discovery/script.py | 18 ++++++++++-------- server/device.py | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/front/plugins/snmp_discovery/script.py b/front/plugins/snmp_discovery/script.py index f1d041db..f4bfa0c0 100755 --- a/front/plugins/snmp_discovery/script.py +++ b/front/plugins/snmp_discovery/script.py @@ -25,7 +25,7 @@ def main(): mylog('verbose', ['[SNMPDSC] In script ']) # init global variables - global ROUTERS + global snmpWalkCmds parser = argparse.ArgumentParser(description='This plugin is used to discover devices via the arp table(s) of a RFC1213 compliant router or switch.') @@ -35,18 +35,20 @@ def main(): plugin_objects = Plugin_Objects(RESULT_FILE) if values.routers: - ROUTERS = values.routers.split('=')[1].replace('\'','') + snmpWalkCmds = values.routers.split('=')[1].replace('\'','') - if ',' in ROUTERS: - routers = ROUTERS.split(',') + if ',' in snmpWalkCmds: + commands = snmpWalkCmds.split(',') else: - routers = [ROUTERS] + commands = [snmpWalkCmds] - for router in routers: - mylog('verbose', ['[SNMPDSC] Router snmpwalk command: ', router]) + for cmd in commands: + mylog('verbose', ['[SNMPDSC] Router snmpwalk command: ', cmd]) timeoutSec = 10 - snmpwalkArgs = router.split(' ') + # split the string, remove white spaces around each item, and exclude any empty strings + snmpwalkArgs = [arg.strip() for arg in cmd.split(' ') if arg.strip()] + # Execute N probes and insert in list probes = 1 # N probes diff --git a/server/device.py b/server/device.py index 06cf51c5..254f10c4 100755 --- a/server/device.py +++ b/server/device.py @@ -270,7 +270,7 @@ def update_devices_data_from_scan (db): WHERE dev_MAC = cur_MAC) """) # Update IP - mylog('debug', '[Update Devices] - cur_IP -> dev_LastIP ') + mylog('debug', '[Update Devices] - cur_IP -> dev_LastIP (always updated)') sql.execute("""UPDATE Devices SET dev_LastIP = (SELECT cur_IP FROM CurrentScan WHERE dev_MAC = cur_MAC)