как посмотреть кто занял порт 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-адресу и типу протокола связи, например TCP или UDP.
Порт прослушивания — это сетевой порт, на котором приложение или процесс прослушивает, выступая в качестве конечной точки связи.
Каждый порт прослушивания может быть открыт или закрыт (отфильтрован) с помощью брандмауэра. В общих чертах, открытый порт — это сетевой порт, который принимает входящие пакеты из удаленных мест.
У вас не может быть двух служб, слушающих один и тот же порт на одном IP-адресе.
Проверьте порты прослушивания с помощью netstat
netstat — это инструмент командной строки, который может предоставить информацию о сетевых подключениях.
Чтобы вывести список всех прослушиваемых портов TCP или UDP, включая службы, использующие порты, и статус сокета, используйте следующую команду:
Параметры, используемые в этой команде, имеют следующее значение:
Результат будет выглядеть примерно так:
Важными столбцами в нашем случае являются:
Выходные данные показывают, что на этой машине порт 22 используется сервером SSH:
Если вывод пуст, это означает, что порт ничего не прослушивает.
Вы также можете фильтровать список по критериям, например, PID, протоколу, состоянию и так далее.
Проверьте порты прослушивания с помощью ss
Результат почти такой же, как у netstat :
Проверьте порты прослушивания с помощью lsof
lsof — это мощная утилита командной строки, которая предоставляет информацию о файлах, открытых процессами.
В Linux все является файлом. Вы можете думать о сокете как о файле, который записывает в сеть.
Чтобы получить список всех прослушивающих TCP-портов с типом lsof :
Используются следующие параметры:
Большинство имен выходных столбцов говорят сами за себя:
Чтобы узнать, какой процесс прослушивает определенный порт, например порт 3306 вы должны использовать:
Выходные данные показывают, что сервер MySQL использует порт 3306 :
Для получения дополнительной информации посетите страницу руководства lsof и прочтите обо всех других мощных возможностях этого инструмента.
Выводы
Мы показали вам несколько команд, которые вы можете использовать, чтобы проверить, какие порты используются в вашей системе, и как узнать, какой процесс прослушивает определенный порт.
Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.
Как проверить открытые порты в Linux (используемые порты)
How to Check for Listening Ports in Linux (Ports in use)
При устранении неполадок сетевого подключения или проблем, связанных с конкретным приложением, в первую очередь следует проверить, какие порты фактически используются в вашей системе, а какое приложение прослушивает определенный порт.
Что такое открытый порт (порт прослушивания)
Сетевой порт идентифицируется его номером, соответствующим IP-адресом и типом протокола связи, таким как TCP или UDP.
Вы не можете иметь две службы, прослушивающие один и тот же порт на одном и том же IP-адресе.
Например, если вы используете веб-сервер Apache, который прослушивает порты, 80 и 443 вы пытаетесь установить Nginx, позднее не удастся запустить, потому что порты HTTP и HTTPS уже используются.
Проверьте порты прослушивания с netstat
netstat это инструмент командной строки, который может предоставить информацию о сетевых подключениях
Чтобы получить список всех прослушиваемых портов TCP или UDP, включая службы, использующие порты и состояние сокета, используйте следующую команду:
Параметры, используемые в этой команде, имеют следующее значение:
Вывод будет выглядеть примерно так:
Важными столбцами в нашем случае являются:
Выходные данные показывают, что на этой машине порт 22 используется сервером SSH:
Если вывод пуст, это означает, что ничего не прослушивает порт.
Вы также можете отфильтровать список на основе критериев, например, PID, протокола, состояния и т. Д.
Проверьте порты прослушивания с ss
Вывод почти такой же, как тот, о котором сообщили netstat :
Проверьте порты прослушивания с lsof
lsof это мощная утилита командной строки, которая предоставляет информацию о файлах, открытых процессами.
В Linux все это файл. Вы можете думать о сокете как о файле, который пишет в сеть.
Чтобы получить список всех прослушивающих TCP-портов, lsof введите:
Используются следующие параметры:
Большинство имен выходных столбцов говорят сами за себя:
Чтобы узнать, какой процесс прослушивает определенный порт, например, порт, который 3306 вы используете:
Выходные данные показывают, что порт 3306 используется сервером MySQL:
Для получения дополнительной информации посетите страницу руководства lsof и прочитайте обо всех других мощных опциях этого инструмента.
Вывод
Мы показали вам несколько команд, которые вы можете использовать для проверки того, какие порты используются в вашей системе, и как найти процесс, который прослушивает определенный порт.
4 способа узнать, какие порты прослушиваются в Linux
Состояние порта может быть open, filtered, closed, или unfiltered.
Говорят, что порт открыт, если приложение на целевой машине прослушивает соединения / пакеты на этом порту.
В этой статье мы объясним четыре способа проверки открытых портов, а также покажем вам, как найти, какое приложение прослушивает какой порт в Linux.
1. Использование команды Netstat
Netstat – широко используемый инструмент для запроса информации о сетевой подсистеме Linux.
Вы можете использовать его для вывода всех открытых портов следующим образом:
Вы также можете использовать команду grep, чтобы узнать, какое приложение прослушивает конкретный порт, например.
В качестве альтернативы вы можете указать порт и найти приложение, как показано ниже:
2. Использование команды ss
ss – еще один полезный инструмент для отображения информации о сокетах.
Он выглядит так же, как и для netstat.
Следующая команда покажет все порты прослушивания для соединений TCP и UDP в числовом значении.
3. Использование команды Nmap
Nmap – мощный и популярный инструмент для исследования сети и сканер портов.
Чтобы установить nmap в вашу систему, используйте диспетчер пакетов по умолчанию, как показано ниже:
Чтобы отсканировать все открытые / прослушивающие порты в вашей Linux-системе, выполните следующую команду (это займет много времени для завершения).
4. Использование команды lsof
Конечным инструментом, который мы рассмотрим для запросов к открытым портам, является команда lsof, которая используется для вывода открытых файлов в Linux.
Обратите внимание, что эта команда показывает сочетание имен служб и числовых портов.
Чтобы узнать, какое приложение прослушивается на определенном порту, запустите lsof в этой форме.
4 способа узнать, какие порты слушают в Linux
Состояние порта либо открыто, фильтрованный, закрыто, или нефильтрованный. Порт считается открытым, если приложение на целевой машине прослушивает соединения / пакеты на этом порту.В этой статье мы об
Содержание:
Состояние порта либо открыто, фильтрованный, закрыто, или нефильтрованный. Порт считается открытым, если приложение на целевой машине прослушивает соединения / пакеты на этом порту.
В этой статье мы объясним четыре способа проверки открытых портов, а также покажем вам, как определить, какое приложение прослушивает какой порт в Linux.
1. Использование команды Netstat
Вы также можете использовать команду grep, например, чтобы узнать, какое приложение прослушивает определенный порт.
Кроме того, вы можете указать порт и найти привязанное к нему приложение, как показано.
2. Использование команды ss
3. Использование команды Nmap
Чтобы просканировать все открытые / прослушивающие порты в вашей системе Linux, выполните следующую команду (выполнение которой займет много времени).
4. Использование команды lsof
Чтобы узнать, какое приложение прослушивает определенный порт, запустите lsof в таком виде.
Вот и все! В этой статье мы объяснили четыре способа проверки открытых портов в Linux. Мы также показали, как проверить, какие процессы привязаны к определенным портам. Вы можете поделиться своими мыслями или задать любые вопросы через форму обратной связи ниже.