⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umitconf.py

📁 Ubuntu packages of security software。 相当不错的源码
💻 PY
📖 第 1 页 / 共 2 页
字号:
                self._set_it(profile, opt, options[opt])        self._set_it(profile, 'options', ",".join(options.keys()))    def get_profile(self, profile_name):        return {'profile':profile_name, \                'command':self.get_command(profile_name), \                'hint':self.get_hint(profile_name), \                'description':self.get_description(profile_name), \                'annotation':self.get_annotation(profile_name),\                'options':self.get_options(profile_name)}class NmapOutputHighlight(object):    setts = ["bold", "italic", "underline", "text", "highlight", "regex"]        def __init__(self):        self.parser = Path.config_parser    def save_changes(self):        self.parser.save_changes()    def __get_it(self, p_name):        property_name = "%s_highlight" % p_name        try:            return self.sanity_settings([self.parser.get(property_name,                                                         prop,                                                         True) \                                         for prop in self.setts])        except:            settings = []            prop_settings = self.default_highlights[p_name]            settings.append(prop_settings["bold"])            settings.append(prop_settings["italic"])            settings.append(prop_settings["underline"])            settings.append(prop_settings["text"])            settings.append(prop_settings["highlight"])            settings.append(prop_settings["regex"])            self.__set_it(p_name, settings)            return settings    def __set_it(self, property_name, settings):        property_name = "%s_highlight" % property_name        settings = self.sanity_settings(list(settings))        [self.parser.set(property_name, self.setts[pos], settings[pos]) \         for pos in xrange(len(settings))]    def sanity_settings(self, settings):        """This method tries to convert insane settings to sanity ones ;-)        If user send a True, "True" or "true" value, for example, it tries to        convert then to the integer 1.        Same to False, "False", etc.        Sequence: [bold, italic, underline, text, highlight, regex]        """        #log.debug(">>> Sanitize %s" % str(settings))                settings[0] = self.boolean_sanity(settings[0])        settings[1] = self.boolean_sanity(settings[1])        settings[2] = self.boolean_sanity(settings[2])        tuple_regex = "[\(\[]\s?(\d+)\s?,\s?(\d+)\s?,\s?(\d+)\s?[\)\]]"        if type(settings[3]) == type(""):            settings[3] = [int(t) for t in re.findall(tuple_regex, settings[3])[0]]        if type(settings[4]) == type(""):            settings[4]= [int(h) for h in re.findall(tuple_regex, settings[4])[0]]        return settings    def boolean_sanity(self, attr):        if attr == True or attr == "True" or attr == "true" or attr == "1":            return 1        return 0    def get_date(self):        return self.__get_it("date")    def set_date(self, settings):        self.__set_it("date", settings)    def get_hostname(self):        return self.__get_it("hostname")    def set_hostname(self, settings):        self.__set_it("hostname", settings)    def get_ip(self):        return self.__get_it("ip")    def set_ip(self, settings):        self.__set_it("ip", settings)    def get_port_list(self):        return self.__get_it("port_list")    def set_port_list(self, settings):        self.__set_it("port_list", settings)    def get_open_port(self):        return self.__get_it("open_port")    def set_open_port(self, settings):        self.__set_it("open_port", settings)    def get_closed_port(self):        return self.__get_it("closed_port")    def set_closed_port(self, settings):        self.__set_it("closed_port", settings)    def get_filtered_port(self):        return self.__get_it("filtered_port")    def set_filtered_port(self, settings):        self.__set_it("filtered_port", settings)    def get_details(self):        return self.__get_it("details")    def set_details(self, settings):        self.__set_it("details", settings)    def get_enable(self):        enable = True        try:            enable = self.parser.get("output_highlight", "enable_highlight")        except NoSectionError:            self.parser.set("output_highlight", "enable_highlight", str(True))                if enable == "False" or enable == "0" or enable == "":            return False        return True    def set_enable(self, enable):        if enable == False or enable == "0" or enable == None or enable == "":            self.parser.set("output_highlight", "enable_highlight", str(False))        else:            self.parser.set("output_highlight", "enable_highlight", str(True))    date = property(get_date, set_date)    hostname = property(get_hostname, set_hostname)    ip = property(get_ip, set_ip)    port_list = property(get_port_list, set_port_list)    open_port = property(get_open_port, set_open_port)    closed_port = property(get_closed_port, set_closed_port)    filtered_port = property(get_filtered_port, set_filtered_port)    details = property(get_details, set_details)    enable = property(get_enable, set_enable)    # These settings are made when there is nothing set yet. They set the "factory" \    # default to highlight colors    default_highlights = {"date":{"bold":str(True),                            "italic":str(False),                            "underline":str(False),                            "text":[0, 0, 0],                            "highlight":[65535, 65535, 65535],                            "regex":"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}\s.{1,4}"},                          "hostname":{"bold":str(True),                            "italic":str(True),                            "underline":str(True),                            "text":[0, 111, 65535],                            "highlight":[65535, 65535, 65535],                            "regex":"(\w{2,}://)*\w{2,}\.\w{2,}(\.\w{2,})*(/[\w{2,}]*)*"},                          "ip":{"bold":str(True),                            "italic":str(False),                            "underline":str(False),                            "text":[0, 0, 0],                            "highlight":[65535, 65535, 65535],                            "regex":"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"},                          "port_list":{"bold":str(True),                            "italic":str(False),                            "underline":str(False),                            "text":[0, 1272, 28362],                            "highlight":[65535, 65535, 65535],                            "regex":"PORT\s+STATE\s+SERVICE(\s+VERSION)?[^\n]*"},                          "open_port":{"bold":str(True),                            "italic":str(False),                            "underline":str(False),                            "text":[0, 41036, 2396],                            "highlight":[65535, 65535, 65535],                            "regex":"\d{1,5}/.{1,5}\s+open\s+.*"},                          "closed_port":{"bold":str(False),                            "italic":str(False),                            "underline":str(False),                            "text":[65535, 0, 0],                            "highlight":[65535, 65535, 65535],                            "regex":"\d{1,5}/.{1,5}\s+closed\s+.*"},                          "filtered_port":{"bold":str(False),                            "italic":str(False),                            "underline":str(False),                            "text":[38502, 39119, 0],                            "highlight":[65535, 65535, 65535],                            "regex":"\d{1,5}/.{1,5}\s+filtered\s+.*"},                          "details":{"bold":str(True),                            "italic":str(False),                            "underline":str(True),                            "text":[0, 0, 0],                            "highlight":[65535, 65535, 65535],                            "regex":"^(\w{2,}[\s]{,3}){,4}:"}}class DiffColors(object):    def __init__(self):        self.parser = Path.config_parser        self.section_name = "diff_colors"    def save_changes(self):        self.parser.save_changes()    def __get_it(self, p_name):        return self.sanity_settings(self.parser.get(self.section_name, p_name))    def __set_it(self, property_name, settings):        settings = self.sanity_settings(settings)        self.parser.set(self.section_name, property_name, settings)    def sanity_settings(self, settings):        log.debug(">>> Sanitize %s" % str(settings))                tuple_regex = "[\(\[]\s?(\d+)\s?,\s?(\d+)\s?,\s?(\d+)\s?[\)\]]"        if type(settings) == type(""):            settings = [int(t) for t in re.findall(tuple_regex, settings)[0]]        return settings    def get_unchanged(self):        return self.__get_it("unchanged")    def set_unchanged(self, settings):        self.__set_it("unchanged", settings)    def get_added(self):        return self.__get_it("added")    def set_added(self, settings):        self.__set_it("added", settings)    def get_modified(self):        return self.__get_it("modified")    def set_modified(self, settings):        self.__set_it("modified", settings)    def get_not_present(self):        return self.__get_it("not_present")    def set_not_present(self, settings):        self.__set_it("not_present", settings)    unchanged = property(get_unchanged, set_unchanged)    added = property(get_added, set_added)    modified = property(get_modified, set_modified)    not_present = property(get_not_present, set_not_present)# Exceptionsclass ProfileNotFound:    def __init__ (self, profile):        self.profile = profile    def __str__ (self):        return "No profile named '"+self.profile+"' found!"class ProfileCouldNotBeSaved:    def __init__ (self, profile):        self.profile = profile    def __str__ (self):        return "Profile named '"+self.profile+"' could not be saved!"if __name__ == "__main__":    pass

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -