Как определить, какие процессы используют порт 21
При работе с сетевыми сервисами на сервере часто возникает необходимость выяснить, какой процесс прослушивает определённый порт. Это может понадобиться при диагностике проблем, настройке брандмауэра или расследовании подозрительной активности.
Одним из удобных инструментов для этой задачи в Linux является команда fuser
.
Описание команды
fuser 21/tcp
Эта команда показывает список идентификаторов процессов (PID), которые в данный момент используют TCP-порт 21.
Порт 21/ TCP обычно ассоциируется с протоколом FTP — сервером файлового обмена. Поэтому такая проверка особенно полезна при анализе работы FTP-сервиса.
Пример вывода
21/tcp: 1234
Это означает, что порт 21 используется процессом с PID 1234.
Дополнительные флаги для расширенного анализа
Можно уточнить вывод, добавив флаги:
1. Показать подробную информацию о процессах:
fuser -v 21/tcp
Выводит таблицу с информацией о пользователе, PID и названии процесса.
2. Завершить процесс, использующий порт:
⚠️ Используйте с осторожностью!
fuser -k 21/tcp
Эта команда отправляет сигнал SIGKILL
процессу, занимающему порт 21.
Как это работает?
Команда fuser
сканирует пространство процессов и определяет, какие из них имеют открытым указанный сокет (в данном случае — TCP-порт 21). Это позволяет быстро диагностировать конфликты портов или найти "захватчиков" ресурсов.
Где применяется?
- Если FTP-сервер не запускается из-за занятого порта.
- Выявление несанкционированных или неожидаемых процессов, слушающих порт.
- Понимание, какой именно процесс мешает запуску другого приложения.
Альтернативы
Вместо fuser
можно использовать и другие команды:
lsof -i :21
netstat -tulnp | grep :21
ss -tulnp | grep :21
Все они дают похожую информацию, но fuser
остаётся одним из самых лаконичных и быстрых способов получить PID нужного процесса.