Xml-Parsen
Verfasst: Sonntag 14. Mai 2006, 19:53
Also das ist mein erster Post im Forum, also wenn ich was falsch gemacht hab nicht böse sein.
Ich bin gerade dabei Python zu lernen, da wollte ich ein Script schreiben das die Ausgaben von nmap auswerted. Da nmap XML-Ausgabe unterstüzt dachte ich mir, es ist am einfachsten die XML-Datei zu parsen. Allerdings hab ich auch nach durchlesen verschiedener Threats hier im Forum und der Python Library Reference das Parsen von XML-Dateien immernoch nicht versanden. Wär echt Klasse wenn mir das jemand erklären könnte. So sieht die XML aus:
Ich wollte es von oben nach unten auslesen und wenn der Port offen ist also state state="open" ist ich dann die dazugehörige IP-bekomme.
Danke schon mal
Ich bin gerade dabei Python zu lernen, da wollte ich ein Script schreiben das die Ausgaben von nmap auswerted. Da nmap XML-Ausgabe unterstüzt dachte ich mir, es ist am einfachsten die XML-Datei zu parsen. Allerdings hab ich auch nach durchlesen verschiedener Threats hier im Forum und der Python Library Reference das Parsen von XML-Dateien immernoch nicht versanden. Wär echt Klasse wenn mir das jemand erklären könnte. So sieht die XML aus:
Code: Alles auswählen
<?xml version="1.0" ?>
<?xml-stylesheet href="/usr/share/nmap/nmap.xsl" type="text/xsl"?>
<!-- Nmap 4.01 scan initiated Thu May 11 14:27:55 2006 as: nmap -sS -oX /tmp/nmap.xml -p 21 192.168.0.1-50 -->
<nmaprun scanner="nmap" args="nmap -sS -oX /tmp/nmap.xml -p 21 192.168.0.1-50" start="1147350475" startstr="Thu May 11 14:27:55 2006" version="4.01" xmloutputversion="1.01">
<scaninfo type="syn" protocol="tcp" numservices="1" services="21" />
<verbose level="0" />
<debugging level="0" />
<host><status state="up" />
<address addr="192.168.0.1" addrtype="ipv4" />
<address addr="xxxx" addrtype="mac" vendor="AVM GmbH" />
<hostnames><hostname name="fritz.fonwlan.box" type="PTR" /></hostnames>
<ports><extraports state="unknown" count="0" />
<port protocol="tcp" portid="21"><state state="closed" /><service name="ftp" method="table" conf="3" /></port>
</ports>
</host>
<host><status state="up" />
<address addr="192.168.0.22" addrtype="ipv4" />
<address addr="xxxx" addrtype="mac" vendor="Micro-star International CO." />
<hostnames><hostname name="host1" type="PTR" /></hostnames>
<ports><extraports state="unknown" count="0" />
<port protocol="tcp" portid="21"><state state="filtered" /><service name="ftp" method="table" conf="3" /></port>
</ports>
</host>
<host><status state="up" />
<address addr="192.168.0.28" addrtype="ipv4" />
<hostnames><hostname name="gentoo" type="PTR" /></hostnames>
<ports><extraports state="unknown" count="0" />
<port protocol="tcp" portid="21"><state state="open" /><service name="ftp" method="table" conf="3" /></port>
</ports>
</host>
<runstats><finished time="1147350477" timestr="Thu May 11 14:27:57 2006"/><hosts up="3" down="47" total="50" />
<!-- Nmap run completed at Thu May 11 14:27:57 2006; 50 IP addresses (3 hosts up) scanned in 1.898 seconds -->
</runstats></nmaprun>
Danke schon mal