Netcat (nc
) è un'opzione.
nc -zv kafka02 6667
-z
=imposta nc in modo che cerchi semplicemente i demoni in ascolto, senza effettivamente inviare loro alcun dato-v
=abilita la modalità dettagliata
Se utilizzi Bash Shell, puoi utilizzare la sua funzionalità per verificare se una porta è aperta o chiusa:
(timeout 1 bash -c '</dev/tcp/127.0.0.1/17500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT OPEN
(timeout 1 bash -c '</dev/tcp/127.0.0.1/7500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT CLOSED
Si noti che se il server non risponde dopo 1 secondo viene raggiunto il timeout, i comandi tra '
interrotto, e quindi non viene stampato nulla.
Il gold standard è senza dubbio nmap
(nmap.org), ma in genere richiede root per "risultati migliori". Tuttavia, sono disponibili binari autonomi ed è possibile eseguirlo come utente senza privilegi, solo con funzionalità degradate. Ad esempio, invece di un syn
invisibile scansione (-sS
), ricorre a una scansione di connessione TCP standard (-sT
). Questo è funzionalmente equivalente a netcat, ma con le belle capacità multi-host e velocizzate che ha.
Un esempio:
not-root$ nmap -sT google.com
Starting Nmap 7.70 ( https://nmap.org ) at 2018-11-04 21:01 GMT
Nmap scan report for google.com (172.217.23.14)
Host is up (0.12s latency).
rDNS record for 172.217.23.14: lhr35s01-in-f14.1e100.net
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https