def __init__(self, host, port, template, log_queue): dom = etree.parse(template) mibs = dom.xpath('//conpot_template/snmp/mibs/*') #only enable snmp server if we have configuration items if not mibs: self.snmp_server = None else: self.snmp_server = CommandResponder(host, port, log_queue) for mib in mibs: mib_name = mib.attrib['name'] for symbol in mib: symbol_name = symbol.attrib['name'] value = symbol.xpath('./value/text()')[0] self.snmp_server.register(mib_name, symbol_name, value)
class SNMPServer(object): def __init__(self, host, port, template, log_queue): self.host = host self.port = port dom = etree.parse(template) mibs = dom.xpath('//conpot_template/snmp/mibs/*') #only enable snmp server if we have configuration items if not mibs: self.snmp_server = None else: self.snmp_server = CommandResponder(self.host, self.port, log_queue) for mib in mibs: mib_name = mib.attrib['name'] for symbol in mib: symbol_name = symbol.attrib['name'] value = symbol.xpath('./value/text()')[0] self.snmp_server.register(mib_name, symbol_name, value) def start(self): if self.snmp_server: logger.info('SNMP server started on: {0}'.format( (self.host, self.port))) self.snmp_server.serve_forever() def stop(self): if self.snmp_server: self.snmp_server.stop()
class SNMPServer(object): def __init__(self, host, port, template, log_queue): dom = etree.parse(template) mibs = dom.xpath('//conpot_template/snmp/mibs/*') #only enable snmp server if we have configuration items if not mibs: self.snmp_server = None else: self.snmp_server = CommandResponder(host, port, log_queue) for mib in mibs: mib_name = mib.attrib['name'] for symbol in mib: symbol_name = symbol.attrib['name'] value = symbol.xpath('./value/text()')[0] self.snmp_server.register(mib_name, symbol_name, value) def start(self): if self.snmp_server: logger.info('Starting SNMP server.') self.snmp_server.serve_forever() def stop(self): if self.snmp_server: self.snmp_server.stop()
def __init__(self, host, port, template, log_queue): dom = etree.parse(template) mibs = dom.xpath('//conpot_template/snmp/mibs/*') #only enable snmp server if we have configuration items if not mibs: self.snmp_server = None else: self.snmp_server = CommandResponder(host, port, log_queue) for mib in mibs: mib_name = mib.attrib['name'] for symbol in mib: symbol_name = symbol.attrib['name'] value = symbol.xpath('./value/text()')[0] self.snmp_server.register(mib_name, symbol_name, value)