Утилита nc (netcat) - это не просто утилита, через которую удобно организовывать эхо-сервер. Это многофункциональная утилита, через которую можно получать много информации об узлах сети.
Данная утилита работает на уровне TCP/IP, поэтому через нее можно проверять открыты или закрыты порты на заданных хостах, причем эта проверка будет происходить безотносительно того, для какого протокола предназначен порт.
Итак, вот две команды, которые проверяют, открыт ли порт PostgreSQL-сервера 5432 на двух IP-адресах:
> nc -zv 127.0.0.1 5432
localhost [127.0.0.1] 5432 (postgresql) open
> nc -zv 192.168.222.95 5432
192.168.222.95: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.222.95] 5432 (postgresql) : Connection refused
Опция -z включает "нулевой" режим отправки-приема сетевых пакетов, который используется только для сканирования.
Опция -v - это опция verbose, которая показывает информацию о производимых действиях и о полученном результате.
Результат первой команды говорит о том, что порт на IP-адресе 127.0.0.1 - открыт, как минимум для хоста, с которого выдаются данные команды. Результат второй команды говорит, что порт на IP-адресе 192.168.222.95 не доступен для работы.