Wie Bash-Skript zu schreiben, für die IP-Adressen in einer Datei zu suchen und sie Datei in einer anderen setzen schreiben?
Frage
Ich brauche einen Bash-Skript zu schreiben, die eine grepable nmap Ausgabedatei nehmen, die IP mit Port zeigen Adressen 80 geöffnet und kopieren Sie die IP-Adressen, die Port 80 offen zu einer anderen Textdatei. Die Ausgabe sieht wie folgt aus:
# Nmap 4.76 scan initiated Thu Dec 3 13:36:29 2009 as: nmap -iL ip.txt -p 80 -r -R -PN --open -oA output
Host: 192.168.1.100 () Status: Up
Host: 192.168.1.100 () Ports: 80/open/tcp//http///
Host: 192.168.1.100 () Status: Up
# Nmap done at Thu Dec 3 13:36:29 2009 -- 3 IP addresses (3 hosts up) scanned in 0.28 seconds
Ich bin ziemlich neu in Bash Scripting so dass ich nicht sicher bin, wo damit zu beginnen. Wenn Sie mir mit diesem Skript helfen können, wäre es sehr geschätzt werden.
Lösung
Dies kann zu einem awk Aufruf reduziert werden:
awk '/80\/open/{print $2}' infile > iplist_port_80
Andere Tipps
Verwenden Sie grep und sed / awk
grep -e '80/open/tcp' infile | awk '{print $2}' | sort -u > outfile
wäre mein erster Versuch sein.
nicht vertraut zu sein mit nmap Aufruf und Ausgabeformat, aber immer noch, soll diese Arbeit:
nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow