Linux: Узнайте, какой порт прослушивает процесс

Как пользователям Linux, нам иногда нужно знать, какой номер порта прослушивает тот или иной процесс. Все порты связаны с идентификатором процесса или службы в операционной системе. Как же найти этот порт? В этой статье мы представим три различных метода, которые вы можете использовать, чтобы узнать, какой порт прослушивает процесс.

Способ 1: Использование команды netstat

Netstat, утилита сетевой статистики, используется для отображения информации о сетевых подключениях. Сюда входит информация о статистике интерфейсов, таблицы маршрутизации и многое другое. Эта утилита доступна в большинстве систем Linux, поэтому мы используем ее, чтобы узнать, какие порты используют определенные процессы в системе.

Чтобы использовать команду netstat, необходимо установить утилиту net-tools, если она еще не установлена в вашей системе, с помощью следующей команды:

 

sudo apt install net-tools

Затем выполните следующую команду:

Выполните команду netstat

Приведенная выше команда выдает информацию netstat, основанную на следующих характеристиках:

  • l: отображать только прослушиваемые сокеты
  • t: отображение tcp-соединения
  • n: отображение адресов в числовом виде
  • p: отображение идентификатора процесса/имени программы

Например, в приведенном выше выводе команды netstat, программа sshd с идентификатором процесса 2118 запущена на порту номер 22.

Вы также можете отфильтровать статистику для определенного порта, включив в команду функцию grep.

Пример:

Эта команда подскажет вам, какой именно процесс запущен на порту номер 22.

Проверьте, какая программа прослушивает порт 22

Метод 2: Использование команды lsof

Утилита lsof или List of Open Files помогает перечислить все открытые файлы в системе Linux. Мы можем использовать эту утилиту для просмотра всех процессов, открытых на определенном порту.

Для использования команды lsof необходимо установить утилиту lsof, если она еще не установлена в вашей системе, выполнив следующую команду:

Установка утилиты lsof

 

Давайте воспользуемся lsof для просмотра служб, прослушивающих определенный порт.

Пример:

Эта команда выведет список всех процессов, использующих TCP-порт номер 22.

Проверьте, какое приложение использует порт 22с помощью lsof

Метод 3: Использование команды fuser

Команда fuser показывает, какие идентификаторы процессов используют названные файлы, сокеты или файловые системы. Мы можем использовать эту команду для просмотра идентификаторов процессов, запущенных на определенном TCP-порту.

Для использования команды fuser необходимо установить утилиту psmisc, если она еще не установлена в вашей системе, выполнив следующую команду:

 

Установка psmisc

Давайте просмотрим все идентификаторы процессов, запущенных на TCP-порту 22, с помощью следующей команды:

Вы можете указать любой номер порта в этой команде для просмотра прослушивающих его процессов.

Использование команды fuser

В приведенном выше выводе видно, что процесс ID 2118 прослушивается на TCP 22.

Чтобы посмотреть, какой программе соответствует этот идентификатор процесса, выполните следующую команду:

Синтаксис:

В нашем случае:

Проверка порта определенного идентификатора процесса

Вывод показывает, что ID процесса 2118 соответствует имени программы sshd. Таким образом, процесс ID 2118 программы sshd прослушивает порт номер 22.

Заключение

С помощью трех методов, которые вы изучили в этой статье, вы можете легко посмотреть, какой TCP порт прослушивает определенный процесс в Linux.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий