Я хочу получить список всех хостов в моей сети, которые имеют открытые порты 22, 80 и 443 (все три из них). В настоящее время я использую два метода, оба имеют недостатки, и мне интересно, есть ли лучший способ, который я пропускаю.
1-й метод:
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///
Мне нужно сопоставить количество портов с количеством появлений "открытого" слова. Это уродливо, это долго, и его выход еще длиннее и уродливее
2-й метод:
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
Это более простая команда, но она требует, чтобы я визуально обнаружил узлы, которые имеют 3 линии открытых портов, как в примере выше. В сети с большим количеством хостов, у которых открыт только один или два из трех портов, это сложно.
Есть ли лучший способ?