def new(): print("START") global g_slave, mode, addrs global addrs if mode == 'manual': addrs = g_dionaea.config()['listen']['addrs'] g_slave = slave() elif mode == 'getifaddrs': g_slave = slave() ifaces = g_dionaea.getifaddrs() addrs = {} for iface in ifaces.keys(): afs = ifaces[iface] for af in afs.keys(): if af == 2 or af == 10: configs = afs[af] for config in configs: if iface not in addrs: addrs[iface] = [] addrs[iface].append(config['addr']) print(addrs) elif mode == 'nl': g_slave = nlslave() g_slave.ifaces = g_dionaea.config()['listen']['interfaces'] load_submodules()
def new(): global g_handler_configs logger.info("Load iHandlers") load_submodules() module_config = g_dionaea.config().get("module") filename_patterns = module_config.get("ihandler_configs", []) g_handler_configs = load_config_from_files(filename_patterns)
def new(): global g_slave global g_service_configs logger.info("Initializing services ...") dionaea_config = g_dionaea.config().get("dionaea") mode = dionaea_config.get("listen.mode") interface_names = dionaea_config.get("listen.interfaces") if mode == 'manual': addrs = {} addresses = dionaea_config.get("listen.addresses") ifaces = g_dionaea.getifaddrs() for iface in ifaces.keys(): afs = ifaces[iface] for af in afs.keys(): if af == 2 or af == 10: configs = afs[af] if iface not in addrs: addrs[iface] = [] for config in configs: if config["addr"] in addresses: addrs[iface].append(config['addr']) g_slave = slave(addresses=addrs) elif mode == 'getifaddrs': ifaces = g_dionaea.getifaddrs() addrs = {} for iface in ifaces.keys(): if interface_names is not None and iface not in interface_names: logger.debug("Skipping interface %s. Not in interface list.", iface) continue afs = ifaces[iface] for af in afs.keys(): if af == 2 or af == 10: configs = afs[af] for config in configs: if iface not in addrs: addrs[iface] = [] addrs[iface].append(config['addr']) g_slave = slave(addresses=addrs) elif mode == 'nl': # ToDo: handle error if ifaces is None g_slave = nlslave(ifaces=interface_names) load_submodules() module_config = g_dionaea.config().get("module") filename_patterns = module_config.get("service_configs", []) g_service_configs = load_config_from_files(filename_patterns)
def new(): print("START") global g_slave global g_service_configs dionaea_config = g_dionaea.config().get("dionaea") mode = dionaea_config.get("listen.mode") interface_names = dionaea_config.get("listen.interfaces") if mode == 'manual': addrs = {} addresses = dionaea_config.get("listen.addresses") ifaces = g_dionaea.getifaddrs() for iface in ifaces.keys(): afs = ifaces[iface] for af in afs.keys(): if af == 2 or af == 10: configs = afs[af] if iface not in addrs: addrs[iface] = [] for config in configs: if config["addr"] in addresses: addrs[iface].append(config['addr']) g_slave = slave(addresses=addrs) elif mode == 'getifaddrs': ifaces = g_dionaea.getifaddrs() addrs = {} for iface in ifaces.keys(): if interface_names is not None and iface not in interface_names: logger.debug("Skipping interface %s. Not in interface list.", iface) continue afs = ifaces[iface] for af in afs.keys(): if af == 2 or af == 10: configs = afs[af] for config in configs: if iface not in addrs: addrs[iface] = [] addrs[iface].append(config['addr']) print(addrs) g_slave = slave(addresses=addrs) elif mode == 'nl': # ToDo: handle error if ifaces is None g_slave = nlslave(ifaces=interface_names) load_submodules() module_config = g_dionaea.config().get("module") filename_patterns = module_config.get("service_configs", []) g_service_configs = load_config_from_files(filename_patterns)
def new(): global g_handlers logger.info("Load iHandlers") load_submodules() g_handlers = {} for h in IHandlerLoader: if h.name not in g_dionaea.config()['modules']['python']['ihandlers']['handlers']: continue if h not in g_handlers: g_handlers[h] = [] handlers = h.start() if isinstance(handlers, (list, tuple)): g_handlers[h] += handlers else: g_handlers[h].append(handlers)