Bonito y detallado! De las páginas man.
Puerto único:
nc -zv 127.0.0.1 80
Múltiples puertos:
nc -zv 127.0.0.1 22 80 8080
Gama de puertos:
nc -zv 127.0.0.1 20-30
Bash ha podido acceder a los puertos TCP y UDP durante un tiempo. Desde la página del manual:
/dev/tcp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a TCP connection to the corresponding socket.
/dev/udp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a UDP connection to the corresponding socket.
Así que podrías usar algo como esto:
xenon-lornix:~> cat < /dev/tcp/127.0.0.1/22
SSH-2.0-OpenSSH_6.2p2 Debian-6
^C pressed here
Taa Daa!
Netcat es una herramienta útil:
nc 127.0.0.1 123 &> /dev/null; echo $?
Dará como resultado 0
si el puerto 123 está abierto y 1
si está cerrado.