Comment écrire script bash pour rechercher des adresses IP dans un fichier et de mettre les écrire dans un autre fichier?

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

  •  12-09-2019
  •  | 
  •  

Question

Je dois écrire un script bash qui prendra un fichier de sortie grepable nmap qui affiche les adresses IP avec le port 80 ouvert et copiez les adresses IP qui ont ouvert le port 80 à un autre fichier texte. La sortie ressemble à ceci:

# 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

Je suis assez nouveau pour les scripts bash donc je ne suis pas sûr où commencer avec cela. Si vous pouvez me aider avec ce script, il serait très apprécié.

Était-ce utile?

La solution

peut être réduit à un appel awk:

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

Autres conseils

Utilisez grep et sed / awk

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

serait ma première tentative.

ne pas être familier avec l'invocation nmap et le format de sortie, mais encore, cela devrait fonctionner:

nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top