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?
openmots de la regex et il est facile de l'oublier)
findports 192.168.2.\* 22 80 443