как узнать какой процесс занимает порт linux

Найти процесс по номеру порта в Linux

При работе в Unix-системах мне частенько приходится определять, какой процесс занимает порт, например, чтобы остановить его и запустить на нём другой процесс. Поэтому я решил написать эту небольшую статью, чтоб каждый, прочитавший её, мог узнать, каким процессом занят порт в Ubuntu, CentOS или другой ОС из семейства Linux.

Как же вычислить, какие запущенные процессы соотносятся с занятыми портами? Как определить, что за процесс открыл udp-порт 2222, tcp-порт 7777 и т.п.? Получить подобную информацию мы можем нижеперечисленными методами:

netstat утилита командной строки, показывающая сетевые подключения, таблицы маршрутизации и некоторую статистику сетевых интерфейсов; fuser утилита командной строки для идентификации процессов с помощью файлов или сокетов; lsof утилита командной строки, отображающая информацию об используемых процессами файлах и самих процессах в UNIX-системе; /proc/$pid/ в ОС Linux /proc для каждого запущенного процесса содержит директорию (включая процессы ядра) в /proc/$PID с информацией об этом процессе, в том числе и название процесса, открывшего порт.

Использование вышеперечисленных способов может потребовать права супер-пользователя.

Теперь давайте рассмотрим каждый из этих способов по отдельности.

Пример использования netstat

Введём в командную строку команду:

Получим примерно такой результат:

Из вывода видно, что 4942-й порт был открыт Java-приложением с PID’ом 3413. Проверить это можно через /proc :

Примерный результат выполнения команды:

Результат будет примерно такой:

Пример использования fuser

Для того, чтобы вычислить процесс, занимающий порт 5050, введём команду:

И получим результат:

Пример использования lsof

При использовании lsof введите команду по одному из шаблонов:

Пример реального использования:

После этого мы можем получить более полную информацию о процессах с PID’ами 2123, 2124 и т.д..

На выходе получим примерно следующее:

Получить информацию о процессе также можно следующим проверенным способом:

В этом выводе можно выделить следующие параметры:

Надеюсь, у меня получилось доступно объяснить, как определить процесс по порту в Linux-системах, и теперь у вас ни один порт не останется неопознанным!

Источник

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

Популярные номера портов в Linux:

Используйте следующие команды для вывода номеров всех портов:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

Как узнать занят ли порт в Linux

Откроем окно терминала и наберём одну из следующих команд:

Теперь рассмотрим один из примеров более детально. С помощью команды ss или netstat проверим используется ли TCP порт 443 в нашей системе

Если порт используется, то вывод будет таким

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3183/nginx: master

В нашем примере порт 443 используется сервисом Nginx. Ключи:

Получение списка всех открытых портов в работе

Получите примерно следующее:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3146/php-fpm: maste
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 3150/exim
tcp 0 0 0.0.0.0:333 0.0.0.0:* LISTEN 3183/nginx: master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3183/nginx: master
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 3150/exim
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3161/pure-ftpd (SER
tcp 0 0 0.0.0.0:33333 0.0.0.0:* LISTEN 3142/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3150/exim
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3183/nginx: master

Заключение

Вы научились определять, используется ли тот или иной порт в системе под управлением Linux, с помощью различных утилит командной строки.

Источник

4 способа узнать, какие порты слушают в Linux

Состояние порта либо открыто, фильтрованный, закрыто, или нефильтрованный. Порт считается открытым, если приложение на целевой машине прослушивает соединения / пакеты на этом порту.В этой статье мы об

Содержание:

Состояние порта либо открыто, фильтрованный, закрыто, или нефильтрованный. Порт считается открытым, если приложение на целевой машине прослушивает соединения / пакеты на этом порту.

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

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

Вы также можете использовать команду grep, например, чтобы узнать, какое приложение прослушивает определенный порт.

Кроме того, вы можете указать порт и найти привязанное к нему приложение, как показано.

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

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

Чтобы просканировать все открытые / прослушивающие порты в вашей системе Linux, выполните следующую команду (выполнение которой займет много времени).

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

Чтобы узнать, какое приложение прослушивает определенный порт, запустите lsof в таком виде.

Вот и все! В этой статье мы объяснили четыре способа проверки открытых портов в Linux. Мы также показали, как проверить, какие процессы привязаны к определенным портам. Вы можете поделиться своими мыслями или задать любые вопросы через форму обратной связи ниже.

Источник

Linux. Кто сидит на портах?

Дата 11.10.2020 Автор Alex Рубрика Интернет

Для получения списка открытых портов используем утилиту «netstat», которая показывает все TCP/UDP входящие/исходящие соединения. Выполним следующую команду от лица суперпользователя:

В этой команде используется пять ключей, чтобы сформировать список только из тех портов, которые прослушиваются, и распечатать названия программ, которые это делают. Разберём все ключи:

-l показать только прослушиваемые «LISTEN» порты
-n показывать сетевые адреса как ip адреса (числа), а не пытаться определять домены
-t показывать TCP порты
-u показывать UDP порты
-p показывать программу, которая слушает порт

При проверке портов обращайте внимание на ip адрес порта. Если он 127.0.0.*, то это внутренний адрес вашего устройства. То есть извне нельзя получить к нему доступ. К примеру, не стоит беспокоиться, если увидите процесс systemd-resolve по адресу 127.0.0.53:53. Этот процесс обслуживает DNS кеш устройства. Не удаляйте его, он нужен для работы интернета.

Но если вы видите порты с ip адресом «0.0.0.0» или «::», то к этим портам можно получить доступ извне. Но только если настроено правило в фаерволе.

Сейчас на замену «netstat» приходит утилита «ss». Ключи у них совпадают, поэтому можно писать:

Узнать название программы через занимаемый порт

Если нужно узнать название программы, которая занимает определённый порт, то можно получить его с помощью команды:

Источник

Как посмотреть открытые порты в Linux

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

Как посмотреть открытые порты linux

1. netstat

Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения. Для отображения максимально подробной информации надо использовать опции:

Открытые порты Linux, которые ожидают соединений имеют тип LISTEN, а перед портом отображается IP адрес на котором сервис ожидает подключений. Это может быть определенный IP адрес или */0.0.0.0 что означают любой доступный адрес:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

Можно вывести только процессы, работающие на 80-том порту:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

3. lsof

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

Ещё один пример, смотрим какие процессы работают с портом 80:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

4. Nmap

sudo apt install nmap

Затем можно использовать:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

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

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

Дальше запускаем сканирование:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

5. Zenmap

sudo apt install zenmap

Запустить программу можно из главного меню или командой:

Затем введите адрес localhost в поле Цель и нажмите кнопку Сканирование:

как узнать какой процесс занимает порт linux. Смотреть фото как узнать какой процесс занимает порт linux. Смотреть картинку как узнать какой процесс занимает порт linux. Картинка про как узнать какой процесс занимает порт linux. Фото как узнать какой процесс занимает порт linux

После завершения сканирования утилита вывела список открытых портов Linux.

Выводы

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

Источник

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

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