Wie Bash-Skript zu schreiben, für die IP-Adressen in einer Datei zu suchen und sie Datei in einer anderen setzen schreiben?

StackOverflow https://stackoverflow.com/questions/1842280

  •  12-09-2019
  •  | 
  •  

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.

War es hilfreich?

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
scroll top