[ad_1]
Порт — это логический объект, представляющий конечную точку связи и связанный с данным процессом или службой в операционной системе. В предыдущих статьях мы объясняли, как узнать список всех открытых портов в Linux и как проверить, если удаленные порты доступны с помощью команды Netcat.
В этом кратком руководстве мы покажем различные способы поиска процесса/службы, прослушивающей определенный порт в Linux.
1. Использование команды netstat
Команда netstat (статистика сети) используется для отображения информации о сетевых подключениях, таблицах маршрутизации, статистике интерфейсов и т. д. Он доступен во всех Unix-подобных операционных системах, включая Linux, а также в ОС Windows.
Если он не установлен по умолчанию, используйте следующую команду для его установки.
$ sudo apt-get install net-tools [On Debian/Ubuntu & Mint] $ sudo dnf install net-tools [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux] $ pacman -S netstat-nat [On Arch Linux] $ emerge sys-apps/net-tools [On Gentoo] $ sudo dnf install net-tools [On Fedora] $ sudo zypper install net-tools [On openSUSE]
После установки вы можете использовать его с команда grep чтобы найти процесс или службу, прослушивающую определенный порт в Linux, следующим образом (укажите порт).
$ netstat -ltnp | grep -w ':80'
В приведенной выше команде flags.
l
— указывает netstat показывать только прослушиваемые сокеты.t
— говорит ему отображать tcp-соединения.n
– дает указание показывать числовые адреса.p
– включает отображение идентификатора процесса и имени процесса.grep -w
– показывает совпадение точной строки (:80).
2. Использование команды lsof
команда lsof (Список открытых файлов) используется для отображения всех открытых файлов в системе Linux.
Чтобы установить его в своей системе, введите команду ниже.
$ sudo apt-get install lsof [On Debian, Ubuntu and Mint] $ sudo yum install lsof [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/lsof [On Gentoo Linux] $ sudo pacman -S lsof [On Arch Linux] $ sudo zypper install lsof [On OpenSUSE]
Чтобы найти процесс/службу, прослушивающую определенный порт, введите (укажите порт).
$ lsof -i :80
3. Использование команды фьюзера
команда фьюзера показывает PID процессов, использующих указанные файлы или файловые системы в Linux.
Вы можете установить его следующим образом:
$ sudo apt-get install psmisc [On Debian, Ubuntu and Mint] $ sudo yum install psmisc [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/psmisc [On Gentoo Linux] $ sudo pacman -S psmisc [On Arch Linux] $ sudo zypper install psmisc [On OpenSUSE]
Вы можете найти процесс/службу, прослушивающую определенный порт, выполнив приведенную ниже команду (укажите порт).
$ fuser 80/tcp
Затем найти имя процесса, используя PID номер с пс команда вот так.
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
Вы также можете ознакомиться с этими полезными руководствами о процессах в Linux.
Вот и все! Знаете ли вы какие-либо другие способы найти процесс/службу, прослушивающую определенный порт в Linux, сообщите нам об этом через форму комментариев ниже.