Как проверить открыт ли порт debian
Перейти к содержимому

Как проверить открыт ли порт debian

  • автор:

Как посмотреть открытые порты Linux

Visitors have accessed this post 83087 times.

Во время устранения неполадок служб, работающих на ОС Linux, просмотр открытых портов является одной из задач, которую должен выполнять любой пользователь или администратор. Если служба должна по идее работать, но по какой-то причине она не работает, то, скорее всего, порт этой службы закрыт и его нужно открыть.

В этом туториале мы покажем, как в Linux посмотреть порты, которые открыты, из командной строки.

1) Посмотреть открытые порты с помощью команды ss

Команда Linux ss предоставляет подробную информацию об открытых портах и прослушиваемых сокетах. Она извлекает информацию из ядра Linux и она более популярна, чем команда netstat, которая уже устарела.

Чтобы отобразить прослушиваемые TCP-соединения, выполните команду
$ ss -tl
Пример вывода

l — показывает прослушиваемые сокеты
t — означает порт TCP
Чтобы посмотреть прослушиваемые UDP-соединения, введите команду
$ ss -lu
Пример вывода

u — означает порт UDP.
Или для того, чтобы отобразить tcp и udp одновременно, введите имя процесса
$ ss -lntup
p — выдает список имен процессов, которые открыли сокеты.
Чтобы вывести все соединения между сокетами, просто используйте команду ss в ее формате по умолчанию
$ ss
Пример вывода

2) Посмотреть открытые порты с помощью команды netstat

Команда netstat — это инструмент командной строки, который используется для проверки открытых портов TCP и UDP вместе с другими атрибутами. Чтобы в Linux проверить открытые порты, введите команду:
$ netstat -pnltu
Пример вывода

Давайте подробнее рассмотрим параметры команды:
p — показывает идентификатор услуги или название программы;
n — отображает числовой номер запущенного порта, например, 3306 для mysqld и 22 для sshd;
l — показывает прослушиваемые сокеты;
t — показывает TCP-соединения;
u — показывает UDP-соединения.

3) Посмотреть открытые порты Linux с помощью команды lsof

Команда lsof — это сетевой инструмент, который также можно использовать, чтобы проверить открытые порты Linux. Для этого введите команду
$ lsof -i
Пример вывода

Чтобы посмотреть открытые сокеты, используйте команду lsof и перенаправьте вывод в grep, как показано ниже:
$ lsof -n -P | grep LISTEN
Пример вывода

Для просмотра всех TCP-соединений выполните следующую команду:
$ lsof -i tcp
Пример вывода

Чтобы посмотреть все UDP-соединения, выполните команду:
$ lsof -i udp
Пример вывода

4) Посмотреть открытые порты Linux с помощью утилиты Nmap

Nmap — это бесплатный инструмент с открытым исходным кодом для сканирования сети, обычно используется для обнаружения открытых портов удаленных систем. По умолчанию Nmap не установлен в ОС Linux. Чтобы установить 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
Пример вывода

Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.

Если вы хотите освоить функционал системного администратора Linux на практике, приглашаем на наш практикум Linux by Rebrain.

Как открывать порты в системе Linux

Порт — это конечная точка соединения. В операционной системе порт открывается или закрывается для передачи пакетов данных определенных процессов или сетевых служб.

Обычно порты определяют конкретную присвоенную им сетевую службу. Это можно изменить вручную, настроив службу на использование другого порта, но в целом можно оставить значения по умолчанию.

Первые 1024 порта (номера портов от 0 до 1023) называются общеизвестными или системными и зарезервированы для часто используемых служб. К ним относятся SSH (порт 22), HTTP (порт 80), HTTPS (порт 443) и тому подобное.

Номера портов выше 1024 называются эфемерными портами.

  • Порты с номерами от 1024 до 49151 называются зарегистрированными/пользовательскими.
  • Номера портов с 49152 по 65535 называются динамическими/частными портами.

В этом мануале мы откроем эфемерный порт в Linux, поскольку общие службы используют известные порты.

Требования

Для выполнения туториала нужно уметь пользоваться терминалом.

Проверка открытых портов

Прежде чем открыть порт в Linux, нужно проверить список всех открытых портов и выбрать эфемерный порт, которого нет в этом списке.

С помощью команды netstat можно получить список всех открытых портов, включая TCP и UDP — это распространенные протоколы для передачи пакетов на сетевом уровне.

Учитывая используемые флаги, команда выводит следующее:

  • все прослушиваемые сокеты (-l)
  • номер порта (-n)
  • TCP-порты (-t)
  • UDP-порты (-u)

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 ::1:5432 . * LISTEN tcp6 0 0 ::1:6379 . * LISTEN tcp6 0 0 . 22 . * LISTEN udp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN

Примечание. Если в вашем дистрибутиве нет netstat, то с помощью команды ss можно вывести список открытых портов путем проверки сокетов прослушивания.

Убедитесь, что команда ss выводит согласованные выходные данные:

Получим следующий вывод:

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:5432 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:27017 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:* tcp LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 128 [::1]:5432 0.0.0.0:* tcp LISTEN 0 128 [::1]:6379 0.0.0.0:* tcp LISTEN 0 128 [::]:22 0.0.0.0:*

Эта команда выводит практически те же открытые порты, что и netstat.

Открытие порта для TCP-соединений

Теперь откроем закрытый порт и настроим его на прослушивание TCP-соединений.

В этом туториале мы откроем порт 4000. Но при желании вы можете выбрать другой закрытый порт. Только убедитесь, что его номер больше 1023.

С помощью команды netstat убедитесь, что порт 4000 не используется:

netstat -na | grep :4000

То же самое можно сделать с помощью команды ss:

ss -na | grep :4000

Вывод должен быть пустым, таким образом подтверждается, что порт сейчас не используется, чтобы была возможность вручную добавить правила порта в системный брандмауэр iptables.

Ubuntu и системы на базе ufw

ufw — клиент командной строки для брандмауэра UncomplicatedFirewall.

Команда будет выглядеть следующим образом:

sudo ufw allow 4000

CentOS и системы на базе firewalld

firewall-cmd — клиент командной строки для брандмауэра firewalld.

Команды будут выглядеть так:

Для других дистрибутивов Linux

Изменить системные правила фильтрации пакетов IPv4 можно с помощью iptables.

iptables -A INPUT -p tcp —dport 4000 -j ACCEPT

Тестирование порта

После успешного открытия TCP-порта нужно его протестировать.

При отправке вывода ls любому подключенному клиенту, сначала запустите netcat (nc) и прослушивайте (-l) порт (-p) 4000:

ls | nc -l -p 4000

Теперь клиент получит вывод ls после того, как он откроет TCP-соединение на порту 4000. Пока оставьте этот сеанс.

Откройте другой терминал на той же машине.

Поскольку мы открыли TCP-порт, мы можем протестировать TCP-подключения с помощью telnet. Если у вас этой команды нет, установите ее с помощью менеджера пакетов.

Введите IP вашего сервера и номер порта (в данном случае 4000) и выполните следующую команду:

telnet localhost 4000

Эта команда пытается открыть TCP-соединение на локальном хосте через порт 4000.

Получим следующий вывод, в котором указано, что соединение с программой установлено (nc):

Trying ::1. Trying 127.0.0.1. Connected to localhost. Escape character is '^]'. while.sh

Вывод ls (в данном примере while.sh) отправлен клиенту, что указывает на успешное TCP-соединение.

С помощью nmap проверьте, открыт ли порт (-p):

nmap localhost -p 4000

Эта команда проверит открытый порт:

Starting Nmap 7.60 ( https://nmap.org ) at 2020-01-18 21:51 UTC Nmap scan report for localhost (127.0.0.1) Host is up (0.00010s latency). Other addresses for localhost (not scanned): ::1 PORT STATE SERVICE 4000/tcp open remoteanything Nmap done: 1 IP address (1 host up) scanned in 0.25 seconds

Как видите, вы успешно открыли новый порт в Linux.

Примечание: nmap выводит список только открытых портов, на которых в данный момент есть прослушивающее приложение. Если вы не используете приложение для прослушивания (например netcat), то порт 4000 будет отображаться как закрытый, поскольку в настоящее время на этом порту нет ни одного прослушивающего приложения. Аналогично не будет работать и telnet, поскольку этой команде также нужно прослушивающее приложение. Именно по этой причине nc такой полезный инструмент. Он имитирует такие среды с помощью простой команды.

Но порт открыт временно, так как изменения будут сбрасываться при каждой перезагрузке системы.

Сохранение правил брандмауэра

Способ, который мы рассмотрели в этом мануале только временно обновляет правила брандмауэра, пока система не выключится или не перезагрузится. Поэтому для повторного открытия того же порта после перезагрузки необходимо повторить эти шаги. Однако правила брандмауэра можно сохранить навсегда.

Для брандмауэра ufw

Правила ufw не сбрасываются при перезагрузке. Это происходит потому, что он интегрирован в процесс загрузки, и ядро применяет соответствующие конфигурационные файлы и сохраняет правила брандмауэра ufw.

Для firewalld

Необходимо применить флаг –permanent, чтобы правила были действительны после перезагрузки системы.

Для iptables

Чтобы сохранить правила конфигурации, рекомендуется использовать iptables-persistent.

Подводим итоги

В этом туториале мы разобрали, как открыть новый порт в Linux и настроить его для входящих соединений, а также поработали с netstat, ss, telnet, nc и nmap.

Debian 10: проверка открытых портов 1 мин для чтения

Enermax представляет кулеры AIO со съемными ЖК-экранами

Favorite

Добавить в избранное

Главное меню » Debian » Debian 10: проверка открытых портов

Debian 10: проверка открытых портов

Порты определяются как конечные точки связи, которые требуются двум или более сторонам для связи друг с другом через сеть. В идеале, когда две или более стороны обмениваются данными друг с другом, их соответствующие порты должны оставаться открытыми. Однако иногда, даже когда связь прерывается, порты могут оставаться открытыми, что может вызвать различные проблемы с безопасностью. Более того, излишне открытые порты также могут потреблять дополнительные ресурсы. Поэтому вы должны постоянно проверять все открытые порты. Поэтому в этой статье мы объясним вам различные методы, с помощью которых вы можете проверить открытые порты в Debian 10.

Методы проверки открытых портов в Debian 10:

Для проверки открытых портов в Debian 10 вы можете использовать любой из четырех методов, обсуждаемых в этой статье.

Способ №1:

Чтобы проверить открытые порты в Debian 10 с помощью команды netstat , вам необходимо выполнить следующие шаги:

1. Прежде всего, вам необходимо запустить терминал. Для этого щелкните вкладку Действия, расположенную на рабочем столе, введите терминал в появившейся строке поиска, а затем щелкните результат поиска, чтобы запустить терминал в Debian 10.

2. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:

sudo apt-get install net-tools

Выполнение этой команды установит пакет net-tools, который необходим для использования команды netstat.

3. После выполнения этой команды введите в терминале следующую команду и нажмите клавишу Enter:

netstat –pnltu

4. Как только эта команда будет выполнена успешно, на вашем экране появится список всех различных портов с указанием их состояний, как показано на следующем изображении:

Способ №2:

Чтобы проверить открытые порты в Debian 10 с помощью команды ss, вам необходимо выполнить следующие шаги:

1. Запустите терминал так же, как описано в методе выше. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:

ss –lntup

2. После успешного выполнения этой команды на экране появится список всех различных портов с указанием их состояний, как показано на следующем изображении:

Читать Как настроить клиент LDAP для использования SSSD

Способ №3:

Чтобы проверить открытые порты в Debian 10 с помощью команды nmap, вам необходимо выполнить следующие шаги:

1. Запустите терминал так же, как описано в методе № 1. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:

sudo apt-get install nmap

Запуск этой команды установит утилиту nmap, после чего мы сможем успешно использовать команду nmap.

2. Теперь, если вы хотите проверить все открытые порты TCP, введите следующую команду в своем терминале и нажмите клавишу Enter:

sudo nmap –sT –O localhost

3. Как только эта команда будет выполнена успешно, вы сразу сможете узнать, открыты ли какие-либо TCP-порты, как показано на изображении ниже:

4. Однако, если вы хотите проверить все открытые порты UDP, введите в терминале следующую команду и нажмите клавишу Enter:

sudo nmap –sU –O localhost

5. Как только эта команда будет выполнена успешно, вы сразу сможете узнать, открыты ли какие-либо порты UDP, как показано на следующем изображении:

Метод №4:

Чтобы проверить открытые порты в Debian 10 с помощью команды lsof, вам необходимо выполнить следующие шаги:

1. Запустите терминал так же, как описано в методе № 1. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:

sudo apt-get install lsof

Запуск этой команды установит утилиту lsof, после чего мы сможем успешно использовать команду lsof.

2. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:

sudo lsof –i

3. Как только эта команда будет выполнена успешно, на вашем экране появится список всех портов с указанием их статуса, как показано на изображении ниже:

Вывод:

Используя любой из четырех методов, обсуждаемых в этой статье, вы можете легко проверить все открытые порты в Debian 10. Единственное, что здесь следует отметить, это то, что команды, за которыми следует ключевое слово «sudo», требуют root привилегии. Следовательно, вы должны запускать их как есть.

Читать Как установить Lynis для безопасности на Ubuntu 22.04

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

�� 3 способа проверить, открыт ли порт на удаленной системе Linux

Мануал

Автор cryptoparty На чтение 4 мин Опубликовано 18.03.2019

В этой статье мы покажем вам, как проверить, какие порты открыты в удаленной системе Linux, используя три метода.

Это можно сделать с помощью следующих команд Linux.

  • nc: Netcat – простая утилита Unix, которая считывает и записывает данные через сетевые соединения, используя протокол TCP или UDP.
  • nmap: Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности. Он был разработан для быстрого сканирования больших сетей.
  • telnet: команда telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.

Как проверить, открыт ли порт на удаленной системе Linux с помощью команды nc (netcat)?

nc означает netcat.

Netcat – это простая утилита Unix, которая читает и записывает данные через сетевые соединения, используя протокол TCP или UDP.

Она разработана, чтобы быть надежным «внутренним» инструментом, который может использоваться напрямую или легко управляться другими программами и скриптами.

В то же время это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые типы соединений, которые вам понадобятся, и имеет несколько интересных встроенных возможностей.

Netcat имеет три основных режима работы.

Это режим подключения, режим прослушивания и туннельный режим.

  • Как установить и использовать команду netcat в Linux
  • Как использовать команду Linux Netcat в качестве сканера портов
  • Netcat vs Cryptcat — удаленная консоль для управления Kali Linux с Windows-машины

Общий синтаксис для nc (netcat):

$ nc [-options] [HostName or IP] [PortNumber]

В этом примере мы собираемся проверить, открыт ли порт 22 в удаленной системе Linux.

В случае успеха вы получите следующий результат.

# nc -zvw3 192.168.1.8 22 Connection to 192.168.1.8 22 port [tcp/ssh] succeeded!

Если порт не доступен, вы получите следующий вывод.

# nc -zvw3 192.168.1.95 22 nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused

Как проверить, открыт ли порт на удаленной системе Linux с помощью команды nmap?

Nmap («Network Mapper») – это инструмент с открытым исходным кодом для исследования сети и аудита безопасности.

Он был разработан для быстрого сканирования больших сетей, хотя он отлично работает на отдельных хостах.

Хотя Nmap обычно используется для аудита безопасности, многие системные и сетевые администраторы считают его полезным для рутинных задач, таких как инвентаризация сети, управление расписаниями обновления служб и мониторинг времени работы хоста или службы.

Общий синтаксис для nmap:

$ nmap [-options] [HostName or IP] [-p] [PortNumber]

В случае успеха вы получите следующий результат.

# nmap 192.168.1.8 -p 22 Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 03:37 IST Nmap scan report for 192.168.1.8 Host is up (0.00031s latency). PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 13.06 seconds

Если это не удастся, вы получите следующий вывод.

# nmap 192.168.1.8 -p 80 Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 IST Nmap scan report for 192.168.1.8 Host is up (0.00036s latency). PORT STATE SERVICE 80/tcp closed http Nmap done: 1 IP address (1 host up) scanned in 13.07 seconds

См. еще про Nmap:

  • Как сканировать удаленный хост на открытые порты с помощью портативного сканера nmap
  • Как установить Nmap 7.01 и использовать его в Linux Mint 18.3
  • Как установить NMAP в Windows с примерами использования в реальном времени
  • Как перечислить каталоги веб-серверов с помощью Nmap на Kali Linux
  • Отключение портов 135 и 445 / Сканирование на уязвимость Nmap
  • 4 способа узнать, какие порты прослушиваются в Linux

Как проверить, открыт ли порт на удаленной системе Linux с помощью команды telnet?

Команда telnet используется для интерактивного взаимодействия с другим хостом по протоколу TELNET.

Общий синтаксис для telnet:

$ telnet [HostName or IP] [PortNumber]

В случае успеха вы получите следующий результат.

$ telnet 192.168.1.9 22 Trying 192.168.1.9. Connected to 192.168.1.9. Escape character is '^]'. SSH-2.0-OpenSSH_5.3 ^] Connection closed by foreign host.

Если это не удастся, вы получите следующий вывод.

$ telnet 192.168.1.9 80 Trying 192.168.1.9. telnet: Unable to connect to remote host: Connection refused 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

Добавить комментарий Отменить ответ
Виталий 28.09.2020 в 22:00
Допустим, SSH открыт. Что дальше делать?
cryptoparty автор 29.09.2020 в 08:41
Зависит от вашей задачи

Поддержать нас

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (110)
  • Книги (27)
  • Мануал (2 386)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (835)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (122)
  • Статьи (366)
  • Философия (133)
  • Юмор (19)

Наш Telegram

Социальные сети
Поделиться

Anything in here will be replaced on browsers that support the canvas element

  • �� Как проверить IPv4-адреса в скрипте 25.12.2023

Проверка IP-адресов – распространенная задача в сетевом и системном администрировании. В этом уроке мы узнаем, как проверить IPv4-адреса с помощью скрипта оболочки. Это особенно полезно в ситуациях, когда нужно убедиться, что пользовательский ввод или данные из другого источника имеют правильный формат IPv4. IPv4 против IPv6: В чем разница между IPv4 и IPv6 Понимание формата адресов […]

Deep Packet Inspection (DPI) – это передовая техника сетевой фильтрации. Если традиционные методы мониторинга и фильтрации сети позволяют лишь поверхностно изучить заголовки пакетов, то DPI проникает глубже, тщательно анализируя фактическое содержание данных в пакетах. Такая детальная проверка позволяет получить полное представление о потоке данных, что дает возможность определить не только тип или категорию данных, но […]

Обратный инжиниринг, термин, часто ассоциируемый с технологическими инновациями и решением проблем, включает в себя сложный процесс раскрытия дизайна, структуры или функциональности продукта, системы или части технологии, чтобы понять их внутреннюю работу. Эта многогранная дисциплина играет ключевую роль в различных отраслях промышленности, способствуя инновациям, обеспечивая совместимость и способствуя продвижению вперед. Сегодня обратный инжиниринг услуги выполняют одни из лучших […]

Компания “Автозайм”: надежное залоговое кредитование в СПб и по всей России “Автозайм” представляет собой современный автоломбард, который оперирует в различных городах России, включая Санкт-Петербург – https://spb.carzaem.ru/autolombard. Компания специализируется на предоставлении кредитов под залог автомобилей, предлагая клиентам удобные и прозрачные условия. Основные преимущества Быстрый и простой процесс. Процедура получения займа в “Автозайм” максимально упрощена. Клиенты могут подать […]

Мы рассмотрим подписание коммитов и тегов ключом GPG, а также отправку и получение открытых ключей GPG на сервер ключей для проверки. Шпаргалка Неподписанный коммит: Подписанный коммит: Если ваши адреса электронной почты git и gpg-ключа отличаются, это приведет к неудаче, пока вы не настроите свой git signingkey Неподписанный тег: Подписанный тег: Переопределение параметров конфигурации автоподписания: Импорт […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *