def __init__(self): loader.check_dependencies() core.globals.ouidb_conn = loader.open_database("./databases/oui.db") if core.globals.ouidb_conn is None: print_error("OUI database could not be open, please provide OUI database") cmd.Cmd.__init__(self) self.prompt = ">" # Load banner with open("./interface/banner.txt", "r") as file: banner = "" for line in file.read(): banner += line self.intro = banner file.close() # Load list of available modules in modules module_directory_names = interface.utils.list_dirs("./modules") # List directories in module directory for module_name in module_directory_names: path = "./modules/" + module_name vendors = interface.utils.list_dirs(path) vendors_dict = {} for vendor in vendors: vendor_path = path + "/" + vendor files = interface.utils.list_files(vendor_path) vendors_dict[vendor] = files self.modules[module_name] = vendors_dict
def __init__(self): loader.check_dependencies() core.globals.ouidb_conn = loader.open_database("./databases/oui.db") if core.globals.ouidb_conn is None: print_error( "OUI database could not be open, please provide OUI database") cmd.Cmd.__init__(self) self.prompt = ">" #Load banner with open("./interface/banner.txt", "r") as file: banner = "" for line in file.read(): banner += line self.intro = banner file.close() #Load list of available modules in modules module_directory_names = interface.utils.list_dirs( "./modules") # List directories in module directory for module_name in module_directory_names: path = "./modules/" + module_name vendors = interface.utils.list_dirs(path) vendors_dict = {} for vendor in vendors: vendor_path = path + "/" + vendor files = interface.utils.list_files(vendor_path) vendors_dict[vendor] = files self.modules[module_name] = vendors_dict
def __init__(self, stdout=sys.stdout): loader.check_dependencies() core.globals.ouidb_conn = loader.open_database("./databases/oui.db") if core.globals.ouidb_conn is None: print_error("OUI database could not be open, please provide OUI database") cmd.Cmd.__init__(self, stdout=stdout) # stdout had to be added for tests self.prompt = ">" # Load banner with open("./interface/banner.txt", "r") as file: banner = "" for line in file.read(): banner += line self.intro = banner file.close() # Load list of available modules in modules module_directory_names = interface.utils.list_dirs("./modules") # List directories in module directory for module_name in module_directory_names: path = "./modules/" + module_name vendors = interface.utils.list_dirs(path) vendors_dict = {} for vendor in vendors: vendor_path = path + "/" + vendor files = interface.utils.list_files(vendor_path) vendors_dict[vendor] = files self.modules[module_name] = vendors_dict for expl in list(vendors_dict.items()): if len(list(expl[1])) > 0: for items in list(expl[1]): pathmodule = '{}/{}/{}'.format(module_name, expl[0], items) if pathmodule not in self.commands['modules']: self.commands['modules'].append(pathmodule) for commands in self.commands['modules']: self.commands['show'].append(commands.split('/')[0])
def __init__(self, stdout=sys.stdout): loader.check_dependencies() loader.check_create_dirs() core.globals.ouidb_conn = loader.open_database("./databases/oui.db") if core.globals.ouidb_conn is None: print_error("OUI database could not be open, please provide OUI database") cmd.Cmd.__init__(self, stdout=stdout) # stdout had to be added for tests self.prompt = ">" # Load banner with open("./interface/banner.txt", "r", encoding="utf-8") as file: banner = "" for line in file.read(): banner += line self.intro = banner file.close() # Load list of available modules in modules module_directory_names = interface.utils.list_dirs("./modules") # List directories in module directory for module_name in module_directory_names: path = "./modules/" + module_name vendors = interface.utils.list_dirs(path) vendors_dict = {} for vendor in vendors: vendor_path = path + "/" + vendor files = interface.utils.list_files(vendor_path) vendors_dict[vendor] = files self.modules[module_name] = vendors_dict for expl in list(vendors_dict.items()): if len(list(expl[1])) > 0: for items in list(expl[1]): pathmodule = '{}/{}/{}'.format(module_name, expl[0], items) if pathmodule not in self.commands['modules']: self.commands['modules'].append(pathmodule) for commands in self.commands['modules']: self.commands['show'].append(commands.split('/')[0])
def __init__(self): loader.check_dependencies() cmd.Cmd.__init__(self) self.prompt = ">" #Load banner with open("./interface/banner.txt", "r") as file: banner = "" for line in file.read(): banner += line self.intro = banner file.close() #Load list of available modules in modules module_directory_names = interface.utils.list_dirs("./modules") # List directories in module directory for module_name in module_directory_names: path = "./modules/" + module_name vendors = interface.utils.list_dirs(path) vendors_dict = {} for vendor in vendors: vendor_path = path + "/" + vendor files = interface.utils.list_files(vendor_path) vendors_dict[vendor] = files self.modules[module_name] = vendors_dict