~ubuntu-branches/ubuntu/oneiric/nmap/oneiric

« back to all changes in this revision

Viewing changes to zenmap/zenmapCore/NmapParser.py

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones, fyodor, Davide
  • Date: 2008-05-31 22:55:14 UTC
  • mfrom: (1.2.10 upstream) (3.1.2 lenny)
  • Revision ID: james.westby@ubuntu.com-20080531225514-dej22l1clq3nj2o3
Tags: 4.62-1
[fyodor]

* new upstream release

[Davide]

* create an desktop file for zenmap.  Closes: #457799
* remove useless file /usr/bin/uninstall_zenmap.  Closes: #474511

Show diffs side-by-side

added added

removed removed

Lines of Context:
155
155
    def get_ports(self):
156
156
        return self._ports
157
157
 
 
158
    # EXTRA PORTS
 
159
    def set_extraports(self, port_list):
 
160
        self._extraports = port_list
 
161
    
 
162
    def get_extraports(self):
 
163
        return self._extraports
 
164
 
158
165
    # HOSTNAMES
159
166
    def set_hostnames(self, hostname_list):
160
167
        self._hostnames = hostname_list
261
268
    
262
269
    def get_filtered_ports(self):
263
270
        ports = self.get_ports()
 
271
        extraports = self.get_extraports()
264
272
        filtered = 0
265
273
        
266
274
        for i in ports:
269
277
                if re.findall('filtered', p['port_state']):
270
278
                    filtered+=1
271
279
 
 
280
        for extra in extraports:
 
281
            if extra["state"] == "filtered":
 
282
                filtered += int(extra["count"])
 
283
 
272
284
        return filtered
273
285
    
274
286
    def get_closed_ports(self):
275
287
        ports = self.get_ports()
 
288
        extraports = self.get_extraports()
276
289
        closed = 0
277
290
        
278
291
        for i in ports:
281
294
                if re.findall('closed', p['port_state']):
282
295
                    closed+=1
283
296
        
 
297
        for extra in extraports:
 
298
            if extra["state"] == "closed":
 
299
                closed += int(extra["count"])
 
300
 
284
301
        return closed
285
302
    
286
303
    def get_scanned_ports(self):
287
304
        ports = self.get_ports()
 
305
        extraports = self.get_extraports()
288
306
        scanned = 0
289
307
        
290
308
        for i in ports:
292
310
            for p in port:
293
311
                scanned+=1
294
312
        
 
313
        for extra in extraports:
 
314
            scanned += int(extra["count"])
 
315
 
295
316
        return scanned
296
317
 
297
318
    def get_services(self):
314
335
    osmatch = property(get_osmatch, set_osmatch)
315
336
    ports = property(get_ports, set_ports)
316
337
    ports_used = property(get_ports_used, set_ports_used)
 
338
    extraports = property(get_extraports, set_extraports)
317
339
    uptime = property(get_uptime, set_uptime)
318
340
    hostnames = property(get_hostnames, set_hostnames)
319
341
    tcptssequence = property(get_tcptssequence, set_tcptssequence)
331
353
    _osmatch = []
332
354
    _ports = []
333
355
    _ports_used = []
 
356
    _extraports = []
334
357
    _uptime = {}
335
358
    _hostnames = []
336
359
    _tcptssequence = {}
521
544
        for h in self.nmap.get('hosts', []):
522
545
            ports += h.get_filtered_ports()
523
546
        
524
 
        for extra in self.list_extraports:
525
 
            if extra["state"] == "filtered":
526
 
                ports += int(extra["count"])
527
 
 
528
 
        log.debug(">>> EXTRAPORTS: %s" % str(self.list_extraports))
529
 
 
530
547
        return ports
531
548
 
532
549
    def get_closed_ports(self):
535
552
        for h in self.nmap['hosts']:
536
553
            ports += h.get_closed_ports()
537
554
 
538
 
        for extra in self.list_extraports:
539
 
            if extra["state"] == "closed":
540
 
                ports += int(extra["count"])
541
 
 
542
555
        return ports
543
556
 
544
557
    def get_formated_date(self):
889
902
 
890
903
    def _parse_host_tcpsequence(self, attrs):
891
904
        self.host_info.set_tcpsequence(self._parsing(attrs, ['index',
892
 
                                                             'class',
893
905
                                                             'difficulty',
894
906
                                                             'values']))
895
907
    
979
991
            self.in_ports = False
980
992
            self.list_ports.append({"extraports":self.list_extraports,
981
993
                                    "port":self.list_port})
 
994
            self.host_info.set_extraports(self.list_extraports)
982
995
        elif self.in_host and self.in_ports and name == "port":
983
996
            self.in_port = False
984
997
            self.list_port.append(self.dic_port)
1192
1205
            if type(host.tcpsequence) == type({}):
1193
1206
                self.write_parser.startElement("tcpsequence",
1194
1207
                    Attributes({"index":host.tcpsequence.get("index", ""),
1195
 
                            "class":host.tcpsequence.get("class", ""),
1196
1208
                            "difficulty":host.tcpsequence.get("difficulty", ""),
1197
1209
                            "values":host.tcpsequence.get("values", "")}))
1198
1210
                self.write_parser.endElement("tcpsequence")