Je suis nouveau script bash et je suis en train de faire ce travail:Comment déterminer quelles adresses IP dans une plage donnée ont le port 80 en utilisant nmap?
Numérisation d'une plage d'adresses IP pour trouver des appareils 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 celui-ci:
-----------------------------------
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
de sorties normales ..)
Quelqu'un peut-il m'aider pour ça?
Vous pouvez le faire sans écrire un script shell. 'nmap' prend en charge les plages d'adresses et l'analyse de port spécifique, à la fois en tant qu'arguments de ligne de commande. Consultez la page de manuel ou la documentation sur 'nmap.org'. –
Vous devez utiliser les options nmap pour faire ce que vous voulez. Cependant, voici une petite syntaxe d'aide: 'pour ip dans 192.168.0. {1,255}' (sans le point supplémentaire) vous donnera 192.168.0.1 et 192.168.0.255 * seulement *. Si vous voulez la gamme de 1 à 255 inclus, faites ceci: 'pour ip dans 192.168.0. {1..255}' alors votre commande 'nmap' utiliserait cette variable:' nmap -p80 "$ ip" ' –