Wie füge ich einer Datei neue Daten hinzu?

Wie füge ich einer Datei neue Daten hinzu?

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 -oGOption (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 -oNOption 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 nmapIhnen gelungen, es richtig zu interpretieren, meines Wissens ist es keine gültige Syntax.

Verwenden Sie stattdessen 192.168.1.0/24oder 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).

Sehen:Nmap-Referenzhandbuch - Zielspezifikation

verwandte Informationen