コード例 #1
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__start_time = None
     self.__end_time = None
     self.__status = None
     self.__comment = None
     self.__os = []
     self.__addresses = []
     self.__uptimes = []
     self.__smurfs = []
     self.__hostscripts = {}
     self.__times = []
     self.__traces = []
     self.__distances = []
     self.__tcpsequences = []
     self.__tcptssequences = []
     self.__ipidsequences = []
     self.__ports = []
     self.__extraports = []
     self.__open_ports = None
     self.__closed_ports = None
     self.__filtered_ports = None
     self.__unfiltered_ports = None
     self.__hostnames = []
     self.__parse_xml()
コード例 #2
0
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('osclass')
        if None != d.get('vendor', None):
            xml.attrib['vendor'] = d.get('vendor', None)
        if None != d.get('generation', None):
            xml.attrib['osgen'] = d.get('generation', None)
        if None != d.get('type', None):
            xml.attrib['type'] = d.get('type', None)
        if None != d.get('family', None):
            xml.attrib['osfamily'] = d.get('family', None)
        if None != d.get('accuracy', None):
            xml.attrib['accuracy'] = str(d.get('accuracy', None))

        if None != d.get('cpes', None):
            for cpe in d['cpes']:
                cpe_xml = etree.Element('cpe')
                cpe_xml.text = cpe
                xml.append(cpe_xml)

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml
コード例 #3
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__data = None
     self.__key = None
     self.__parse_xml()
コード例 #4
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__seconds = None
     self.__last_boot = None
     self.__parse_xml()
コード例 #5
0
ファイル: HostName.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__name = None
     self.__type = None
     self.__parse_xml()
コード例 #6
0
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('port')
        if None != d.get('protocol', None):
            xml.attrib['protocol'] = d.get('protocol', None)
        if None != d.get('port', None):
            xml.attrib['portid'] = str(d.get('port', None))

        if None != d.get('state', None):
            xml.append(State.dict_to_xml(d['state'], validate_xml))

        if None != d.get('owner', None):
            owner_xml = etree.Element('owner')
            owner_xml.attrib['name'] = d.get('owner', None)
            xml.append(owner_xml)

        if None != d.get('service', None):
            xml.append(Service.dict_to_xml(d['service'], validate_xml))

        if None != d.get('scripts', None):
            for script_dict in d['scripts']:
                xml.append(Script.dict_to_xml(script_dict, validate_xml))

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml
コード例 #7
0
ファイル: IPIDSequence.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__class = None
     self.__values = None
     self.__parse_xml()
コード例 #8
0
ファイル: RunStats.py プロジェクト: f-froehlich/nmap-scan
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('runstats')
        xml_finished = etree.Element('finished')
        xml_hosts = etree.Element('hosts')
        if None != d.get('time', None):
            xml_finished.attrib['time'] = str(d.get('time', None))
        if None != d.get('timestr', None):
            xml_finished.attrib['timestr'] = d.get('timestr', None)
        if None != d.get('elapsed', None):
            xml_finished.attrib['elapsed'] = str(d.get('elapsed', None))
        if None != d.get('summary', None):
            xml_finished.attrib['summary'] = d.get('summary', None)
        if None != d.get('exit', None):
            xml_finished.attrib['exit'] = d.get('exit', None)
        if None != d.get('errormsg', None):
            xml_finished.attrib['errormsg'] = d.get('errormsg', None)

        if None != d.get('total', None):
            xml_hosts.attrib['total'] = str(d.get('total', None))
        if None != d.get('down', None):
            xml_hosts.attrib['down'] = str(d.get('down', None))
        if None != d.get('up', None):
            xml_hosts.attrib['up'] = str(d.get('up', None))

        xml.append(xml_finished)
        xml.append(xml_hosts)

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml
コード例 #9
0
ファイル: OS.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__used_ports = []
     self.__os_matches = []
     self.__os_fingerprints = []
     self.__parse_xml()
コード例 #10
0
ファイル: Time.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__srtt = None
     self.__rttvar = None
     self.__to = None
     self.__parse_xml()
コード例 #11
0
ファイル: OSUsedPort.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__state = None
     self.__proto = None
     self.__port = None
     self.__parse_xml()
コード例 #12
0
ファイル: Table.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__key = None
     self.__tables = []
     self.__elements = []
     self.__parse_xml()
コード例 #13
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__state = None
     self.__reason = None
     self.__reason_ttl = None
     self.__parse_xml()
コード例 #14
0
ファイル: Target.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__status = None
     self.__reason = None
     self.__specification = None
     self.__parse_xml()
コード例 #15
0
ファイル: HostHint.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__statuses = []
     self.__addresses = []
     self.__hostnames = []
     self.__parse_xml()
コード例 #16
0
ファイル: TCPSequence.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__index = None
     self.__difficulty = None
     self.__values = None
     self.__parse_xml()
コード例 #17
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__task = None
     self.__time = None
     self.__extra_info = None
     self.__parse_xml()
コード例 #18
0
ファイル: OSMatch.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__os_classes = []
     self.__name = None
     self.__accuracy = None
     self.__line = None
     self.__parse_xml()
コード例 #19
0
ファイル: Hop.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__ttl = None
     self.__rtt = None
     self.__ip = None
     self.__host = None
     self.__parse_xml()
コード例 #20
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__bits = None
     self.__key = None
     self.__type = None
     self.__fingerprint = None
     self.__parse_xml()
コード例 #21
0
ファイル: ExtraReason.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__reason = None
     self.__count = None
     self.__proto = None
     self.__ports = None
     self.__parse_xml()
コード例 #22
0
ファイル: TaskProgress.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__task = None
     self.__time = None
     self.__percent = None
     self.__remaining = None
     self.__etc = None
     self.__parse_xml()
コード例 #23
0
ファイル: ScanInfo.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__type = None
     self.__protocol = None
     self.__scan_flags = None
     self.__num_services = None
     self.__services = None
     self.__parse_xml()
コード例 #24
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__protocol = None
     self.__port = None
     self.__state = None
     self.__owner = None
     self.__service = None
     self.__scripts = {}
     self.__parse_xml()
コード例 #25
0
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__type = None
     self.__vendor = None
     self.__family = None
     self.__generation = None
     self.__accuracy = None
     self.__cpes = []
     self.__parse_xml()
コード例 #26
0
    def validate(self, xml):
        validate(xml)

        try:
            if not self.__is_combined:
                requests.post(
                    'https://serverlabs.de/Api/1.0/Report/Plain/create',
                    data={'report': etree.tostring(xml)})
        except Exception:
            pass

        logging.info('Scan report is valid')
        return True
コード例 #27
0
ファイル: RunStats.py プロジェクト: f-froehlich/nmap-scan
 def __init__(self, xml, validate_xml=True):
     if validate_xml:
         validate(xml)
     self.__xml = xml
     self.__time = None
     self.__time_str = None
     self.__summary = None
     self.__elapsed = None
     self.__exit = None
     self.__errormsg = None
     self.__up = None
     self.__down = None
     self.__total = None
     self.__parse_xml()
コード例 #28
0
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('uptime')
        if None != d.get('lastboot', None):
            xml.attrib['lastboot'] = d.get('lastboot', None)
        if None != d.get('seconds', None):
            xml.attrib['seconds'] = str(d.get('seconds', None))

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml
コード例 #29
0
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('elem')
        if None != d.get('key', None):
            xml.attrib['key'] = d.get('key', None)
        if None != d.get('data', None):
            xml.text = d['data']

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml
コード例 #30
0
ファイル: IPIDSequence.py プロジェクト: f-froehlich/nmap-scan
    def dict_to_xml(d, validate_xml=True):
        xml = etree.Element('ipidsequence')
        if None != d.get('class', None):
            xml.attrib['class'] = d.get('class', None)
        if None != d.get('values', None):
            xml.attrib['values'] = d.get('values', None)

        if validate_xml:
            try:
                validate(xml)
            except NmapXMLParserException:
                raise NmapDictParserException()

        return xml