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