Je souhaite obtenir une liste de tous les hôtes de mon réseau ayant les ports 22, 80 et 443 ouverts ( tous les trois ). Actuellement, j'utilise deux méthodes, les deux ont des inconvénients et je me demande s'il existe un meilleur moyen qui me manque.
1ère méthode :
nmap -PS22 -p22,80,443 192.168.2.\* -oG - | grep "open.*open.*open"
Host: 192.168.2.250 (192.168.2.250) Ports: 22/open/tcp//ssh///, 80/open/tcp//http///, 443/open/tcp//https///
Je dois faire correspondre le nombre de ports avec le nombre d'apparences du mot "open". C'est moche, c'est long et sa sortie est encore plus longue et moche
2ème méthode :
nmap -PS22 -p22,80,443 192.168.2.*
Nmap scan report for 192.168.2.250 (192.168.2.250)
Host is up (0.051s latency).
22/tcp open ssh
80/tcp open http
443/tcp open https
C'est une commande plus simple mais cela nécessite que je localise visuellement les hôtes qui ont 3 lignes de ports ouverts comme dans l'exemple ci-dessus. Dans un réseau comprenant de nombreux hôtes n'ayant qu'un ou deux des trois ports ouverts, c'est difficile.
Une meilleure façon?
linux
networking
Ndemou
la source
la source
open
mots de la regex et il est facile de l'oublier)findports 192.168.2.\* 22 80 443
Réponses:
Les deux sont assez faciles à analyser. Le second comme ça:
Cela affichera un indicateur (OK ou!) Dans la 1ère colonne, puis l'adresse IP et enfin les noms des services trouvés.
la source