Настало время научиться проверять порты в консоли, а не посредством бесплатных онлайн средств.
Команда netstat (сокращение от "network statistics", сетевые статистики) представляет собой инструмент командной строки, который отображает сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскирующие соединения и членство в мультикаст-группах.
-t: Отображать TCP-соединения.-u: Отображать UDP-соединения.-l: Отображать сокеты, находящиеся в состоянии прослушивания (открытые порты).-n: Отображать числовые адреса вместо разрешения имен хостов и имен служб.
В терминале ведите следующую команду и нажмите Enter:
netstat -tuln
Proto: Протокол сокета (например,tcp,udp).Local Address: Локальный IP-адрес и номер порта. Формат:IP_Address:Port.0.0.0.0означает, что служба прослушивает все доступные IPv4-интерфейсы, а:::означает, что она прослушивает все доступные IPv6-интерфейсы.Foreign Address: Удаленный IP-адрес и номер порта.0.0.0.0:*или:::*указывает, что сокет не подключен к определенному удаленному адресу (он находится в состоянии прослушивания).State: Состояние сокета.LISTENозначает, что порт открыт и ожидает входящих соединений.
В примере вывода можно видеть, что порт 53 (DNS) и порт 22 (SSH) находятся в состоянии LISTEN как для IPv4, так и для IPv6.
Подтверждение статуса портов с помощью ss -tuln
На предыдущем этапе вы использовали команду netstat для вывода списка открытых портов. Теперь давайте воспользуемся более современным и часто быстрым инструментом, называемым ss (socket statistics, статистика сокетов), чтобы достичь той же цели. ss разработан для замены netstat и предоставляет более подробную информацию о сокетах.
Используйте аналогичные параметры с командой ss, как и с командой netstat:
-t: Отображать TCP-сокеты.-u: Отображать UDP-сокеты.-l: Отображать сокеты, находящиеся в состоянии прослушивания (открытые порты).-n: Отображать числовые адреса вместо разрешения имен хостов и имен служб.
Введите следующую команду и нажмите Enter:
ss -tuln
Тестирование доступности порта с помощью nc -zv
Воспользуемся командой nc (netcat) для проверки, можно ли на самом деле подключиться к определенному порту. nc - это универсальная сетевая утилита, которая может считывать данные из сетевых соединений и записывать в них с использованием протоколов TCP или UDP.
-z: Указывает, чтоncдолжен только сканировать на наличие работающих серверов (daemons), не отправляя им никаких данных. Это полезно для проверки, открыт ли порт.-v: Включает подробный вывод, показывающий больше деталей о попытке подключения.
Мы проверим доступность порта 22 (SSH), который, как мы видели на предыдущих этапах, находится в состоянии прослушивания. Мы будем тестировать подключение к локальной машине, которую можно указать по IP-адресу 127.0.0.1 или по имени хоста localhost.
nc -zv 127.0.0.1 22
Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!