So! Ich habe einen Nmap-Scan, der die Ausgabe in einer Datei speichert.nmapscan.txt:
sudo nmap -sP 192.168.1* > nmapscan.txt
Ich habe auch ein paar andere Befehle, um alle gewünschten Ausgaben zu bereinigen und in einer Datei zu speichern.livehosts.txt:
cat ./temp/nmapscan.txt | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' > ./temp/macaddresses.txt
Dadurch werden die Mac-Adressen gespeichert. Und:
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' ./temp/nmapscan.txt > ./temp/ipaddresses.txt
Dadurch werden die IP-Adressen gespeichert. Und:
cat ./temp/nmapscan.txt | grep -o -P '(?<=for).*(?=.attlocal)' > ./temp/hostnames1.txt
Dadurch werden die Hostnamen gespeichert. Und:
cut -d' ' -f 2 ./temp/hostnames1.txt > ./temp/hostnames2.txt
Was ich getan habe, um die Hostnamen zu bereinigen (Entschuldigung, ich habe vergessen, dies in den Originalbeitrag aufzunehmen) … Und:
cut -d' ' -f 1 ./temp/hostnames2.txt | paste ./temp/macaddresses.txt ./temp/ipaddresses.txt - > ./temp/livehosts.txt
.. das ist das Endprodukt, das die gewünschten Daten kombiniert und Folgendes anzeigt:
xx:xx:xx:xx:xx:xx 192.168.1.1 Netgear
xx:xx:xx:xx:xx:xx 192.168.1.111 John's Toilet Cam
Ich möchte den Scan und das Schreiben noch einmal durchführen und möchte dielivehosts.txtDatei mehr oder weniger aktualisiert. Einfach den Scan ausführen und erneut schreiben, so wie er ist, überschreibt die Datei. Und nicht alle Geräte sind zu unterschiedlichen Zeiten verbunden.
Ich habe es versucht:
>>
Dadurch werden jedoch nur die bereits in der Datei vorhandenen Daten verdoppelt.
Wäre es die beste Vorgehensweise, die Daten zu verdoppeln, wiederkehrende Daten auszuschneiden und dann in eine neue Datei zu schreiben?
Wie würden Sie dabei vorgehen? Danke!
Antwort1
Es finden zu viele Manipulationen statt, die unnötig sind.
Verwenden Sie zunächst die -oG
Option (grepable format). Dies erleichtert Ihnen die Arbeit. Quelle:Nmap-Referenzhandbuch - Ausgabe. Und es ist nicht nötig, eine Dateiumleitung ( > nmapscan.txt
) durchzuführen, da nmap bereits eine -oN
Option hat. Sie können in eine Datei protokollieren, aber trotzdem die Ausgabe auf der Konsole erhalten.
Ich bin nicht sicher, ob Ihre Zielspezifikation überhaupt zulässig ist:
nmap -sP 192.168.1*
Vielleicht ist es nmap
Ihnen gelungen, es richtig zu interpretieren, meines Wissens ist es keine gültige Syntax.
Verwenden Sie stattdessen 192.168.1.0/24
oder 192.168.1.1-255
(vorausgesetzt, Sie möchten ein kleines Netzwerk mit den Adressen 192.168.1.0 bis 192.168.1.255 scannen).