Сетевой порт — виртуальная точка, где начинаются и заканчиваются сетевые соединения. Каждый порт связан с определенным процессом или службой, что позволяет им взаимодействовать с другими устройствами по сети.
В этой статье мы расскажем, как узнать, какой процесс прослушивает определенный порт в ОС Linux.
Содержание:
Использование команд netstat и ss
Утилита netstat
— инструмент командной строки Linux, предназначенный для отображения информации о сетевых соединениях, интерфейсах, прослушиваемых портах и других данных, связанных с сетью.
Вы можете использовать эту утилиту, чтобы найти процесс, прослушивающий определенный порт в ОС Linux. Для этого следует применить следующую команду:
Где:
-l
— параметр, который указываетnetstat
отображать только прослушиваемые порты;-t
— параметр, который указывает отображать только порты TCP;-n
— опция, определяющая, что должны быть показаны IP-адреса и номера портов;-p
— опция, показывающая идентификатор процесса (PID) и название программы, связанной с каждым портом;|
— конвейер, который используется для перенаправления вывода одной команды в качестве ввода другой;grep -w ':<port-number>'
— команда, которая ищет точное совпадение с шаблоном, указанным в качестве ее аргумента.
Для примера узнаем, какой процесс прослушивает порт 80:
На скриншоте выше видно, что веб-cервер Apache прослушивает порт 80.
Утилита ss
(от англ. Socket Statistics) предназначена для отображения подробной статистики о сокетах. Она имеет ряд преимуществ перед netstat
: работает быстрее и предоставляет более подробную информацию о состоянии сети.
Читайте также: Лучшие сетевые команды в Linux.
Команды ss
и netstat
имеют похожий набор опций. Поэтому, чтобы определить программу, прослушивающую порт, с помощью ss
, используйте следующую команду:
Где -u
— параметр, который указывает отображать UDP-порты.
Давайте узнаем, какой процесс прослушивает порт 80:
На скриншоте выше видно, что утилита ss
, в отличие от netstat
, отображает идентификаторы не только родительских процессов, но и дочерних.
Использование команды lsof
Утилита lsof
— инструмент командной строки Linux, который предоставляет информацию о файлах и процессах, использующих системные ресурсы. Вы также можете с помощью этой команды узнать, какая программа прослушивает тот или иной порт. Для этого выполните в терминале lsof
с опцией -i
и номером порта в качестве аргумента. Например:
Читайте также: Как узнать, кто использует файл с инструментом lsof.
Применение утилиты fuser
Команда fuser
применяется для определения процессов, которые используют определенные файлы / каталоги или прослушивают сетевые порты.
Вы можете узнать процесс, прослушивающий определенный порт, выполнив приведенную ниже команду:
Где:
<port-number>
— номер сетевого порта;<port-type>
— тип сетевого протокола, связанного с портом (TCP или UDP).
Например, узнаем, какой процесс прослушивает TCP-порт 80:
По умолчанию fuser
выводит на экран идентификаторы процессов. Чтобы определить название процесса по его идентификатору, используйте следующую команду:
Где <PID>
— идентификатора процесса.
Читайте также: 30 полезных команд ps для мониторинга процессов Linux.
К примеру:
Выводы
Мы рассказали, как с помощью команд netstat
, ss
, lsof
и fuser
узнать процесс, использующий сетевой порт. Надеемся, что эта статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
2 комментария. Оставить новый
Спасибо!
здравствуйте, у меня в программе пишет Ошибка при старте CryptoService a
Порт 49018 уже занят для прослушивания сети. Изменение в настройке …….. и т д
Что это значит? спасибо за ответ