Как проверить доступность порта в Ubuntu/Linux?

lsof

список файлов открытых различными процессами. Открытые файлы могут быть обычным файлом, директорией, блоком, библиотекой, потоком, сетевым файлом (например сокетом).

# bash

sudo lsof -i -P -n 
sudo lsof -i -P -n | grep LISTEN

# filter -i, [46][protocol][@hostname|hostaddr][:service|port]
sudo lsof -i4:22
sudo lsof -i:3000 -P -n | grep LISTEN
  • -i - выбрать файлы, чьи Интернет адреса содержат параметр, указанный в i,  если ничего не указано, то будут показаны все Интерет и x.25 сетевые файлы.
  • -n - не преобразовывать адреса в имена, так lsof будет работать значительно быстрее
  • -P - не преобразовывать числовые значения портов в имена

netstat

утилита для отображения различной сетевой статистики (активности)

# bash
netstat -tulpn | grep LISTEN
  • -t - только TCP сокеты
  • -u - только UDP сокеты
  • -l - показать прослушиваемые сокеты
  • -p - имена процессов
  • -n - не "разрешать" имена, не использовать DNS

nmap

Утилита для исследования сети и сканер портов

# bash
sudo nmap -sT -O localhost