Во время устранения неполадок служб, работающих в системе Linux, проверка открытых портов является одной из задач, которую должен рассмотреть любой пользователь или администратор.
Если ожидается, что служба должна работать, но по какой-то причине это не так, то, скорее всего, порт, связанный с этой службой, закрыт и должен быть открыт.
В этом мануале мы покажем, как проверить открытые порты в Linux из командной строки.
1) Проверка открытых портов с помощью команды netstat
$ netstat -pnltu
Образец вывода
Давайте подробнее рассмотрим параметры команды:
- p – отображает идентификатор Procees, связанный с услугой или названием программы
- n – отображает числовой номер порта, работающего, например, 3306 для mysqld и 22 для sshd.
- л – показывает сокеты прослушивания
- t – отображает TCP соединения
- u – отображает UDP-соединения
net-tools устарела с 2011 года, НЕ РЕКОМЕНДУЕТСЯ использовать netstat. Замену можно найти в инструментах iproute2 – это команда “ss” (и другие инструменты)
2) Проверьте открытые порты с помощью команды lsof
$ lsof -i
$ lsof -n -P | grep LISTEN
$ lsof -i tcp
$ lsof -i udp
3) Проверьте открытые порты с помощью утилиты Nmap
Nmap – это бесплатный инструмент для сканирования сети с открытым исходным кодом, обычно используемый для разведки при этическом взломе для обнаружения открытых портов удаленных систем.
По умолчанию Nmap не устанавливается в вашей системе.
Чтобы установить Nmap, введите команду:
$ sudo apt install nmap (Для Debian/ Ubuntu) $ sudo yum install nmap (Для RedHat/ CentOS) $ sudo dnf install nmap (Для Fedora) $ pacman -S nmap (ArchLinux)
Чтобы найти открытые порты TCP, выполните команду
$ nmap -sT -O localhost
Чтобы найти открытые порты UDP, выполните команду:
$ nmap -sU localhost
Заключение
Это команды и инструменты linux, используемые для сканирования портов для проверки открытых портов в системе Linux.
Как всегда, ваши комментарии приветствуются.
Если у вас есть другие идеи по вопросу, как проверить открытые порты, напишите свое мнение.