Changeset 3903

Show
Ignore:
Timestamp:
01/06/09 20:55:16 (4 years ago)
Author:
gpolo
Message:

* Fixed services_scanned;
* Removed setter for num_services and services_scanned;
* Misc code layout changes.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branch/nmapparser/NmapParser.py

    r3902 r3903  
    3636 
    3737class HostInfo(object): 
    38     def __init__(self, id): 
     38    def __init__(self, host_id): 
    3939        self.osclass = [] 
    4040        self.osmatch = [] 
     
    5353 
    5454        # Umit extension 
    55         self.id = id 
     55        self.id = host_id 
    5656        self.comment = '' 
    5757 
     
    8080            raise Exception("Id was not set yet.") 
    8181 
    82     def set_id(self, id): 
     82    def set_id(self, host_id): 
    8383        try: 
    84             self._id = int(id) 
     84            self._id = int(host_id) 
    8585        except (TypeError, ValueError): 
    8686            raise Exception("Invalid id! It must represent an integer, " 
    87                     "received %r" % id) 
     87                    "received %r" % host_id) 
    8888 
    8989    # VENDOR 
     
    147147 
    148148    def get_open_ports(self): 
    149         open = 0 
     149        open_count = 0 
    150150        for port in self.ports: 
    151151            if port['state'] == 'open': 
    152                 open += 1 
    153  
    154         return open 
     152                open_count += 1 
     153 
     154        return open_count 
    155155 
    156156    def get_filtered_ports(self): 
    157         filtered = 0 
     157        filtered_count = 0 
    158158        for port in self.ports: 
    159159            if port['state'] == 'filtered': 
    160                 filtered += 1 
     160                filtered_count += 1 
    161161        for extra in self.extraports: 
    162162            if extra["state"] == 'filtered': 
    163                 filtered += int(extra["count"]) 
    164  
    165         return filtered 
     163                filtered_count += int(extra["count"]) 
     164 
     165        return filtered_count 
    166166 
    167167    def get_closed_ports(self): 
    168         closed = 0 
     168        closed_count = 0 
    169169        for port in self.ports: 
    170170            if port['state'] == 'closed': 
    171                 closed+=1 
     171                closed_count += 1 
    172172        for extra in self.extraports: 
    173173            if extra["state"] == 'closed': 
    174                 closed += int(extra['count']) 
    175  
    176         return closed 
     174                closed_count += int(extra['count']) 
     175 
     176        return closed_count 
    177177 
    178178    def get_scanned_ports(self): 
     
    324324        self.nmap['scaninfo'].append(info) 
    325325 
    326     def get_services_scanned (self): 
    327         if self._services_scanned == None: 
    328             return self._services_scanned 
    329  
    330         services = [] 
    331         for scan in self.nmap.get('scaninfo', []): 
    332             services.append(scan['services']) 
    333  
    334         self._services_scanned = ','.join(services) 
    335         return self._services_scanned 
    336  
    337     def set_services_scanned (self, services_scanned): 
    338         self._services_scanned = services_scanned 
    339  
    340     def get_nmap_command (self): 
     326    def get_services_scanned(self): 
     327        services = [scan['services'] for scan in self.nmap.get('scaninfo', [])] 
     328        return ','.join(services) 
     329 
     330    def get_nmap_command(self): 
    341331        return self._verify_output_options(self.nmap['nmaprun'].get('args', '')) 
    342332 
     
    344334        self.nmap['nmaprun']['args'] = self._verify_output_options(command) 
    345335 
    346     def get_scan_type (self): 
    347         types = [] 
    348         for t in self.nmap.get('scaninfo', []): 
    349             types.append(t['type']) 
    350         return types 
     336    def get_scan_type(self): 
     337        return [stype['type'] for stype in self.nmap.get('scaninfo', [])] 
    351338 
    352339    def get_protocol (self): 
    353         protocols = [] 
    354         for proto in self.nmap.get('scaninfo', []): 
    355             protocols.append(proto['protocol']) 
    356         return protocols 
    357  
    358     def get_num_services (self): 
    359         if self._num_services == None: 
    360             return self._num_services 
    361  
     340        return [proto['protocol'] for proto in self.nmap.get('scaninfo', [])] 
     341 
     342    def get_num_services(self): 
    362343        num = 0 
    363         for n in self.nmap.get('scaninfo', []): 
    364             num += int(n['numservices']) 
    365  
    366         self._num_services = num 
    367         return self._num_services 
    368  
    369     def set_num_services (self, num_services): 
    370         self._num_services = num_services 
     344        for sinfo in self.nmap.get('scaninfo', []): 
     345            num += int(sinfo['numservices']) 
     346 
     347        return num 
    371348 
    372349    def get_date(self): 
     
    388365 
    389366    def get_open_ports(self): 
    390         ports = 0 
    391  
    392         for h in self.nmap.get('hosts', []): 
    393             ports += h.get_open_ports() 
    394  
    395         return ports 
     367        open_count = 0 
     368        for host in self.nmap.get('hosts', []): 
     369            open_count += host.get_open_ports() 
     370 
     371        return open_count 
    396372 
    397373    def get_filtered_ports(self): 
    398         ports = 0 
    399  
    400         for h in self.nmap.get('hosts', []): 
    401             ports += h.get_filtered_ports() 
    402  
    403         return ports 
     374        filtered_count = 0 
     375        for host in self.nmap.get('hosts', []): 
     376            filtered_count += host.get_filtered_ports() 
     377 
     378        return filtered_count 
    404379 
    405380    def get_closed_ports(self): 
    406         ports = 0 
    407          
    408         for h in self.nmap['hosts']: 
    409             ports += h.get_closed_ports() 
    410  
    411         return ports 
     381        closed_count = 0 
     382        for host in self.nmap['hosts']: 
     383            closed_count += host.get_closed_ports() 
     384 
     385        return closed_count 
    412386 
    413387    def get_formated_date(self): 
     
    419393                                      str(date[4]).zfill(2)) 
    420394 
    421     def get_scanner (self): 
     395    def get_scanner(self): 
    422396        return self.nmap['nmaprun'].get('scanner', '') 
    423397 
     
    502476        return self.nmap['runstats']['finished'].get('time', 0) 
    503477 
    504     def set_finish_epoch_time(self, time): 
    505         self.nmap['runstats']['finished']['time'] = int(time) 
     478    def set_finish_epoch_time(self, epoch_time): 
     479        self.nmap['runstats']['finished']['time'] = int(epoch_time) 
    506480 
    507481    def get_scan_name(self): 
     
    520494 
    521495    def _verify_output_options(self, command): 
    522         found = re.findall ('(-o[XGASN]{1}) {0,1}', command) 
    523         splited = command.split (' ') 
     496        found = re.findall('(-o[XGASN]{1}) {0,1}', command) 
     497        splited = command.split(' ') 
    524498 
    525499        if found: 
    526500            for option in found: 
    527501                pos = splited.index(option) 
    528                 del(splited[pos+1]) 
    529                 del(splited[pos]) 
     502                del splited[pos+1] 
     503                del splited[pos] 
    530504 
    531505        return ' '.join(splited) 
     
    547521    verbose_level = property(get_verbose_level, set_verbose_level) 
    548522    scaninfo = property(get_scaninfo, set_scaninfo) 
    549     services_scanned = property(get_services_scanned, set_services_scanned) 
     523    services_scanned = property(get_services_scanned) 
    550524    nmap_command = property(get_nmap_command, set_nmap_command) 
    551525    scan_type = property(get_scan_type) 
    552526    protocol = property(get_protocol) 
    553     num_services = property(get_num_services, set_num_services) 
     527    num_services = property(get_num_services) 
    554528    date = property(get_date, set_date) 
    555529    open_ports = property(get_open_ports) 
     
    575549    start = property(get_start, set_start) 
    576550    scan_name = property(get_scan_name, set_scan_name) 
    577  
    578     _num_services = None 
    579     _services_scanned = None 
    580551 
    581552