# Порты (ports) в Linux **Published by:** [OdaNoder](https://paragraph.com/@odanoder-2/) **Published on:** 2024-11-23 **URL:** https://paragraph.com/@odanoder-2/ports-linux ## Content Поиск и управление портами в операционной системе Linux является одной из основных задач при администрировании сетевых сервисов и приложений. Открытые порты позволяют программам обмениваться данными по сети. Важно знать, какие порты используются, чтобы обеспечить безопасность системы, избежать конфликтов и правильно настроить сетевые сервисы.Оглавление Основные понятия Способы поиска портов в Linux Установка различных инструментов для поиска и управления портами в Linux Примеры различных команд и вариантов для поиска активных, прослушивающих, а также закрытых портов в системе.Основные понятияПортПорт — это точка входа для сетевых соединений. Каждый порт идентифицируется числом от 0 до 65535 и используется для связи с определёнными сервисами или приложениями. Порты делятся на несколько категорий:Well-known ports (0–1023): зарезервированы для известных служб, таких как SSH (22), HTTP (80), HTTPS (443).Registered ports (1024–49151): используются для различных зарегистрированных приложений.Dynamic or private ports (49152–65535): могут использоваться для временных или специфичных для приложения соединений.Открытые и закрытые портыОткрытые порты: могут принимать входящие соединения.Закрытые порты: либо не используются, либо заблокированы файрволом или другим средством безопасности.Способы поиска портов в Linux1. Использование команды netstatКоманда netstat — это один из наиболее распространённых способов для отображения всех активных соединений и открытых портов. Она выводит информацию о сетевых соединениях, таблицах маршрутизации, интерфейсах и статистике. Для просмотра всех открытых портов можно использовать следующий синтаксис:netstat -tuln -t: показывает TCP-соединения.-u: показывает UDP-соединения.-l: показывает только прослушивающие порты.-n: выводит порты в числовом формате (без разрешения имен хостов и сервисов).Пример вывода:Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* иnetstat -an | grep LISTEN | grep -E '\b(26658|26657|6060|26656|26660|1317|9090|9091|26657)\b' 2. Использование команды ssКоманда ss (socket statistics) является более современной и быстрой заменой netstat. Она позволяет вывести информацию о сетевых сокетах, включая используемые порты. Для вывода всех прослушивающих портов:ss -tuln #Проверить сразу несколько портов ss -tuln | grep ':9090\|:8080' Пример вывода:Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* 3. Использование lsofКоманда lsof выводит список всех открытых файлов, включая сетевые соединения и порты, используемые процессами. Чтобы найти, какие процессы используют порты, можно использовать следующую команду:lsof -i -P -n -i: фильтрация по сетевым соединениям.-P: выводит номера портов без преобразования в имена служб.-n: не разрешает имена хостов (ускоряет вывод).Пример вывода:COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 676 root 3u IPv4 13742 0t0 TCP *:22 (LISTEN) dhclient 820 root 6u IPv4 14642 0t0 UDP *:68 4. Использование nmapnmap — это мощный инструмент для сканирования сети и проверки открытых портов. Для сканирования всех открытых TCP-портов на локальной машине используйте:nmap -sT localhost Если необходимо проверить порты на удалённой машине, укажите её IP-адрес:nmap -sT 192.168.1.1 Пример вывода:PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https 5. Просмотр статуса портов с помощью файрволаЕсли в вашей системе используется файрвол, например ufw или iptables, можно получить список открытых портов через эти утилиты.UFWДля отображения состояния файрвола и открытых портов в ufw, выполните:sudo ufw status IPTABLESДля получения списка правил и открытых портов в iptables, используйте:sudo iptables -L Знание того, как просматривать и управлять портами в Linux, является важным навыком для системных администраторов и сетевых инженеров. Используя команды netstat, ss, lsof, nmap, а также управление через файрволы, вы можете легко отслеживать и регулировать сетевую активность системы. Эти методы помогут поддерживать безопасность и стабильность работы серверов и приложений.Установка различных инструментов для поиска и управления портами в LinuxУстановка различных инструментов для поиска и управления портами в Linux может отличаться в зависимости от дистрибутива системы. Ниже приведены способы установки основных утилит для работы с портами на популярных дистрибутивах Linux, таких как Ubuntu/Debian, CentOS/RHEL, и других.1. Установка netstatnetstat является частью пакета net-tools, который устарел, но всё ещё используется. Он может не быть предустановленным в новых версиях некоторых дистрибутивов Linux, например, в Ubuntu.Установка на Ubuntu/Debian:sudo apt update sudo apt install net-tools Установка на CentOS/RHEL:sudo yum install net-tools После установки команда netstat станет доступной.2. Установка ssss входит в состав пакета iproute2, который обычно предустановлен в большинстве современных дистрибутивов Linux. Однако, если он отсутствует, его можно установить.Установка на Ubuntu/Debian:sudo apt update sudo apt install iproute2 Установка на CentOS/RHEL:После установки ss можно использовать без дополнительных действий.3. Установка lsofУтилита lsof обычно также предустановлена на большинстве дистрибутивов Linux. Если это не так, её можно легко установить.Установка на Ubuntu/Debian:sudo apt update sudo apt install lsof Установка на CentOS/RHEL:После установки lsof можно использовать для мониторинга портов и других открытых файлов.4. Установка nmapnmap — это отдельный инструмент, который нужно установить вручную, если он не предустановлен в системе.Установка на Ubuntu/Debian:sudo apt update sudo apt install nmap Установка на CentOS/RHEL:После установки можно использовать nmap для сканирования портов.5. Установка и настройка ufw (Uncomplicated Firewall)ufw — это удобный интерфейс для управления правилами файрвола, часто используется на Ubuntu.Установка на Ubuntu/Debian:На большинстве версий Ubuntu ufw уже установлен, но если его нет, установите:sudo apt update sudo apt install ufw Установка на CentOS/RHEL:На CentOS ufw не используется по умолчанию, здесь обычно применяются инструменты, такие как firewalld. Однако, при желании можно установить ufw через сторонние репозитории:sudo yum install epel-release sudo yum install ufw После установки можно включить ufw:sudo ufw enable И затем управлять портами:sudo ufw allow 22/tcp # открыть порт 22 для SSH sudo ufw deny 80/tcp # закрыть порт 80 для HTTP 6. Установка и настройка iptablesiptables — это низкоуровневый инструмент для управления сетевыми правилами. Обычно предустановлен на большинстве систем, но если отсутствует, его можно установить.Установка на Ubuntu/Debian:sudo apt update sudo apt install iptables Установка на CentOS/RHEL:Для проверки открытых портов и установленных правил:sudo iptables -L Установка утилит для управления портами в Linux является достаточно простой задачей, которая сводится к использованию стандартных пакетных менеджеров, таких как apt на Ubuntu/Debian и yum на CentOS/RHEL. Все перечисленные утилиты являются важными инструментами для системных администраторов и могут быть установлены за несколько команд.Примеры различных команд и вариантов для поиска активных, прослушивающих, а также закрытых портов в системе.Спасибо за внимание к материалу! Надеюсь, информация оказалась полезной для вас! Поздравляю с новым достижением!Если материал оказался полезным и вы хотите поддержать мою работу, буду рад вашему донату. Любая помощь вдохновляет на создание нового контента! Спасибо за вашу поддержку!ПОЛЕЗНЫЕ ССЫЛКИ ## Publication Information - [OdaNoder](https://paragraph.com/@odanoder-2/): Publication homepage - [All Posts](https://paragraph.com/@odanoder-2/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@odanoder-2): Subscribe to updates