Come scrivere script bash per cercare gli IP in un file e metterli scrivere un altro file?

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

  •  12-09-2019
  •  | 
  •  

Domanda

Ho bisogno di scrivere uno script bash che avrà un file di output nmap grepable che visualizza gli indirizzi IP con la porta 80 aperta e copiare gli IP che hanno la porta 80 aperta a un altro file di testo. L'output è simile a questo:

# 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

Sono abbastanza nuovo per lo scripting bash quindi non sono sicuro da dove cominciare con questo. Se mi può aiutare con questo script sarebbe molto apprezzato.

È stato utile?

Soluzione

questo può essere ridotto a una chiamata awk:

awk '/80\/open/{print $2}' infile > iplist_port_80

Altri suggerimenti

Con grep e sed / awk

grep -e '80/open/tcp' infile | awk '{print $2}' | sort -u > outfile

sarebbe il mio primo tentativo.

non avere familiarità con l'invocazione nmap e il formato di output, ma ancora, questo dovrebbe funzionare:

nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top