Esempio n. 1
0
    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)
Esempio n. 2
0
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()
Esempio n. 3
0
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()
Esempio n. 4
0
    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)