Какой процесс слушает порт в Linux

Какой процесс слушает порт в Linux

Рубрики:

Linux, Сети Linux

Метки:

, , , ,

Сетевой порт — виртуальная точка, где начинаются и заканчиваются сетевые соединения. Каждый порт связан с определенным процессом или службой, что позволяет им взаимодействовать с другими устройствами по сети.

В этой статье мы расскажем, как узнать, какой процесс прослушивает определенный порт в ОС Linux.

Содержание:

  1. Использование команд netstat и ss
  2. Использование команды lsof
  3. Применение утилиты fuser
  4. Выводы

Использование команд netstat и ss

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

Вы можете использовать эту утилиту, чтобы найти процесс, прослушивающий определенный порт в ОС Linux. Для этого следует применить следующую команду:

 

Где:

  • -l — параметр, который указывает netstat отображать только прослушиваемые порты;
  • -t — параметр, который указывает отображать только порты TCP;
  • -n — опция, определяющая, что должны быть показаны IP-адреса и номера портов;
  • -p — опция, показывающая идентификатор процесса (PID) и название программы, связанной с каждым портом;
  • | — конвейер, который используется для перенаправления вывода одной команды в качестве ввода другой;
  • grep -w ':<port-number>' — команда, которая ищет точное совпадение с шаблоном, указанным в качестве ее аргумента.

Для примера узнаем, какой процесс прослушивает порт 80:

 

netstat port

На скриншоте выше видно, что веб-cервер Apache прослушивает порт 80.

Утилита ss (от англ. Socket Statistics) предназначена для отображения подробной статистики о сокетах. Она имеет ряд преимуществ перед netstat: работает быстрее и предоставляет более подробную информацию о состоянии сети.

Читайте также: Лучшие сетевые команды в Linux.

Команды ss и netstat имеют похожий набор опций. Поэтому, чтобы определить программу, прослушивающую порт, с помощью ss, используйте следующую команду:

 

Где -u — параметр, который указывает отображать UDP-порты.

Давайте узнаем, какой процесс прослушивает порт 80:

 

ss port

На скриншоте выше видно, что утилита ss, в отличие от netstat, отображает идентификаторы не только родительских процессов, но и дочерних.

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

Утилита lsof — инструмент командной строки Linux, который предоставляет информацию о файлах и процессах, использующих системные ресурсы. Вы также можете с помощью этой команды узнать, какая программа прослушивает тот или иной порт. Для этого выполните в терминале lsof с опцией -i и номером порта в качестве аргумента. Например:

 

lsof port

Читайте также: Как узнать, кто использует файл с инструментом lsof.

Применение утилиты fuser

Команда fuser применяется для определения процессов, которые используют определенные файлы / каталоги или прослушивают сетевые порты.

Вы можете узнать процесс, прослушивающий определенный порт, выполнив приведенную ниже команду:

 

Где:

  • <port-number> — номер сетевого порта;
  • <port-type> — тип сетевого протокола, связанного с портом (TCP или UDP).

Например, узнаем, какой процесс прослушивает TCP-порт 80:

 

fuser port

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

 

Где <PID> — идентификатора процесса.

Читайте также: 30 полезных команд ps для мониторинга процессов Linux.

К примеру:

 

ps process pid

Выводы

Мы рассказали, как с помощью команд netstatss, lsof и fuser узнать процесс, использующий сетевой порт. Надеемся, что эта статья была полезной для Вас!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Сети Linux

Метки:

, , , ,

Больше похожих постов

2 комментария. Оставить новый

  • Спасибо!

    Ответить
  • здравствуйте, у меня в программе пишет Ошибка при старте CryptoService a
    Порт 49018 уже занят для прослушивания сети. Изменение в настройке …….. и т д
    Что это значит? спасибо за ответ

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню