Comment déterminer quels IP dans une plage donnée ont le port 80 en utilisant nmap?
Je suis nouveau à l'écriture de scripts bash et j'essaie de faire ce travail:
De la numérisation d'une plage d'adresses IP pour trouver les périphériques avec le port 80 ouvert...
Je pense qu'il doit ressembler à ceci:
#!/bin/bash
echo -----------------------------------
for ip in 192.168.0.{1,.255}; do
nmap -p80 192.168.0.1
if #open; then
echo "{ip} has the port 80 open"
else
#do nothing
fi
done
echo -----------------------------------
exit 0
Aussi je veux juste voir les résultats comme ceci:
-----------------------------------
192.168.0.1 has the port 80 open
192.168.0.10 has the port 80 open
192.168.0.13 has the port 80 open
192.168.0.15 has the port 80 open
-----------------------------------
(Donc sans erreurs ou nmap
normale sorties..)
Quelqu'un peut m'aider pour cela?
source d'informationauteur bananah
Vous devez vous connecter pour publier un commentaire.
nmap
est livré avec une jolie paramètre de sortie-oG
(grepable sortie) ce qui rend l'analyse plus facile. Aussi il n'est pas nécessaire d'itérer sur toutes les adresses IP que vous souhaitez numériser. nmap est un masque de réseau courant.Votre exemple peut être écrite comme:
La
-oG
permet à l' grepable sortieet-
spécifie le fichier de sortie (dans ce casstdout
). Le symbole de canal redirige la sortie de nmap (stdout) de grep, qui retourne seulement les lignes contenant80/open
dans ce cas.Essayer cette
La
--open
ne hôte de liste avec le port 80 ouvert. De cette façon, vous évitera d'avoir à vérifier dans votre script shell que le filtrage est déjà fait par nmap.https://nmap.org/book/man-briefoptions.html