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

📄 nmapparser.py

📁 Ubuntu packages of security software。 相当不错的源码
💻 PY
📖 第 1 页 / 共 4 页
字号:
                     'hosts':[],\                     'runstats':{}}    def set_host_comment(self, host_id, comment):        for host in self.nmap['hosts']:            if host.id == host_id:                host.comment = comment                break        else:            raise Exception("Comment could not be saved! Host not \found at NmapParser!")    def get_host_comment(self, host_id):        for host in self.nmap.get('hosts', []):            if host.id == host_id:                return host.comment        else:            raise Exception("Comment could not be saved! Host not \found at NmapParser!")    def get_profile(self):        return self.nmap['nmaprun'].get('profile', '')    def set_profile(self, profile):        self.nmap['nmaprun']['profile'] = profile        def get_profile_name(self):        return self.nmap['nmaprun'].get('profile_name', '')    def set_profile_name(self, name):        self.nmap['nmaprun']['profile_name'] = name        def get_profile_description(self):        return self.nmap['nmaprun'].get('description', '')    def set_profile_description(self, description):        self.nmap['nmaprun']['description'] = description        def get_profile_hint(self):        return self.nmap['nmaprun'].get('hint', '')    def set_profile_hint(self, hint):        self.nmap['nmaprun']['hint'] = hint        def get_profile_annotation(self):        return self.nmap['nmaprun'].get('annotation', '')    def set_profile_annotation(self, annotation):        self.nmap['nmaprun']['annotation'] = annotation        def get_profile_options(self):        options = self.nmap['nmaprun'].get('options', '')        if type(options) == type([]):            return ','.join(options)        elif type(options) in StringTypes:            return options    def set_profile_options(self, options):        if (type(options) == type([])) or (type(options) in StringTypes):            self.nmap['nmaprun']['options'] = options        elif type(options) == type({}):            self.nmap['nmaprun']['options'] = options.keys()        else:            raise Exception("Profile option error: wrong argument format! \Need a string or list.")        def get_target(self):        return self.nmap['nmaprun'].get('target', '')    def set_target(self, target):        self.nmap['nmaprun']['target'] = target    def get_nmap_output(self):        return self.nmap['nmaprun'].get('nmap_output', '')    def set_nmap_output(self, nmap_output):        self.nmap['nmaprun']['nmap_output'] = nmap_output        def get_debugging_level (self):        return self.nmap.get('debugging', '')    def set_debugging_level(self, level):        self.nmap['debugging'] = level        def get_verbose_level (self):        return self.nmap.get('verbose', '')    def set_verbose_level(self, level):        self.nmap['verbose'] = level        def get_scaninfo(self):        return self.nmap.get('scaninfo', '')    def set_scaninfo(self, info):        self.nmap['scaninfo'] = info        def get_services_scanned (self):        if self._services_scanned == None:            return self._services_scanned                services = []        for scan in self.nmap.get('scaninfo', []):            services.append(scan['services'])        self._services_scanned = ','.join(services)        return self._services_scanned    def set_services_scanned (self, services_scanned):        self._services_scanned = services_scanned    def get_nmap_command (self):        return self._verify_output_options(self.nmap['nmaprun'].get('args', ''))    def set_nmap_command(self, command):        self.nmap['nmaprun']['args'] = self._verify_output_options(command)    def get_scan_type (self):        types = []        for t in self.nmap.get('scaninfo', []):            types.append(t['type'])        return types    def get_protocol (self):        protocols = []        for proto in self.nmap.get('scaninfo', []):            protocols.append(proto['protocol'])        return protocols    def get_num_services (self):        if self._num_services == None:            return self._num_services                num = 0        for n in self.nmap.get('scaninfo', []):            num += int(n['numservices'])        self._num_services = num        return self._num_services    def set_num_services (self, num_services):        self._num_services = num_services    def get_date (self):        epoch = int(self.nmap['nmaprun'].get('start', '0'))        return time.localtime (epoch)    def get_start(self):        return self.nmap['nmaprun'].get('start', '0')    def set_start(self, start):        self.nmap['nmaprun']['start'] = start    def set_date(self, date):        if type(date) == type(int):            self.nmap['nmaprun']['start'] = date        else:            raise Exception("Wrong date format. Date should be saved \in epoch format!")        def get_open_ports(self):        ports = 0        for h in self.nmap.get('hosts', []):            ports += h.get_open_ports()        return ports    def get_filtered_ports(self):        ports = 0        for h in self.nmap.get('hosts', []):            ports += h.get_filtered_ports()                for extra in self.list_extraports:            if extra["state"] == "filtered":                ports += int(extra["count"])        log.debug(">>> EXTRAPORTS: %s" % str(self.list_extraports))        return ports    def get_closed_ports(self):        ports = 0                for h in self.nmap['hosts']:            ports += h.get_closed_ports()        for extra in self.list_extraports:            if extra["state"] == "closed":                ports += int(extra["count"])        return ports    def get_formated_date(self):        date = self.get_date()        return "%s %s, %s - %s:%s" % (months[date[1]],                                       str(date[2]),                                       str(date[0]),                                      str(date[3]).zfill(2),                                       str(date[4]).zfill(2))    def get_scanner (self):        return self.nmap['nmaprun'].get('scanner', '')    def set_scanner(self, scanner):        self.nmap['nmaprun']['scanner'] = scanner        def get_scanner_version (self):        return self.nmap['nmaprun'].get('version', '')    def set_scanner_version(self, version):        self.nmap['nmaprun']['version'] = version    # IPv4    def get_ipv4_addresses (self):        log.warning(_("zenmapCore.NmapParser.get_ipv4_address deprecated! Use \zenmapCore.NmapParser.get_ipv4 instead."))        return self.get_ipv4()    def get_ipv4(self):        addresses = []        for host in self.nmap.get('hosts', []):            try:                addresses.append(host.get_ip().get('addr', ''))            except:                pass                return addresses    # MAC    def get_mac_addresses (self):        log.warning(_("zenmapCore.NmapParser.get_mac_address deprecated! Use \zenmapCore.NmapParser.get_mac instead."))        return self.get_mac()    def get_mac(self):        addresses = []        for host in self.nmap.get('hosts', []):            try:                addresses.append(host.get_mac().get('addr', ''))            except:                pass                return addresses    # IPv6    def get_ipv6_addresses (self):        log.warning(_("zenmapCore.NmapParser.get_ipv6_address deprecated! Use \zenmapCore.NmapParser.get_ipv6 instead."))        return self.get_ipv6()    def get_ipv6(self):        addresses = []        for host in self.nmap.get('hosts', []):            try:                addresses.append(host.get_ipv6().get('addr', ''))            except:                pass        return addresses    def get_hostnames (self):        hostnames = []        for host in self.nmap.get('hosts', []):            hostnames += host.get_hostnames()        return hostnames    def get_ports(self):        ports = []        for port in self.nmap.get('hosts', []):            ports.append(port.get_ports())                return ports    def get_hosts(self):        return self.nmap.get('hosts', None)    def get_runstats(self):        return self.nmap.get('runstats', None)    def set_runstats(self, stats):        self.nmap['runstats'] = stats        def get_hosts_down(self):        return int(self.nmap['runstats'].get('hosts_down', '0'))    def set_hosts_down(self, down):        self.nmap['runstats']['hosts_down'] = int(down)        def get_hosts_up(self):        return int(self.nmap['runstats'].get('hosts_up', '0'))    def set_hosts_up(self, up):        self.nmap['runstats']['hosts_up'] = int(up)        def get_hosts_scanned(self):        return int(self.nmap['runstats'].get('hosts_scanned', '0'))    def set_hosts_scanned(self, scanned):        self.nmap['runstats']['hosts_scanned'] = int(scanned)        def get_finish_time (self):        return time.localtime(int(self.nmap['runstats'].get('finished_time',                                                            '0')))    def set_finish_time(self, finish):        self.nmap['runstats']['finished_time'] = int(finish)    def get_finish_epoc_time(self):        return int(self.nmap['runstats'].get('finished_time', '0'))    def set_finish_epoc_time(self, time):        self.nmap['runstats']['finished_time'] = time    def get_scan_name(self):        return self.nmap.get("scan_name", "")    def set_scan_name(self, scan_name):        self.nmap["scan_name"] = scan_name        def get_formated_finish_date(self):        date = self.get_finish_time()        return "%s %s, %s - %s:%s" % (months[date[1]],                                       str(date[2]),                                       str(date[0]),                                      str(date[3]).zfill(2),                                       str(date[4]).zfill(2))    def _verify_output_options (self, command):        found = re.findall ('(-o[XGASN]{1}) {0,1}', command)        splited = command.split (' ')                if found:            for option in found:                pos = splited.index(option)                del(splited[pos+1])                del(splited[pos])                return ' '.join (splited)    def get_comments(self):        return [host.comment for host in self.nmap['hosts']]    profile = property(get_profile, set_profile)    profile_name = property(get_profile_name, set_profile_name)    profile_description = property(get_profile_description,                                    set_profile_description)    profile_hint = property(get_profile_hint, set_profile_hint)    profile_annotation = property(get_profile_annotation,                                   set_profile_annotation)

⌨️ 快捷键说明

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