скидка 50% все планы, время ограничено. Начиная с $2.48/mo
осталось 9 минут
Безопасность и сеть

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

Келли Уотсон By Келли Уотсон 9 минут чтения Обновлено 28 октября 2025 г.
Цифровой коридор с пронумерованными «дверями» портов справа, один открытый, другой закрытый, символизирующий ответ на вопрос «как проверить открытые порты в Linux на наличие уязвимостей?»

Большинство людей думают, что проверка открытых портов — это задача только для экспертов по безопасности, пока их сервер не будет скомпрометирован через открытый порт, о прослушивании которого они даже не подозревали. Вы можете проверить открытые порты в Linux, используя встроенные команды, такие как netstat, ss, lsof, nmap и netcat, или удаленно сканировать порты с помощью PowerShell из систем Windows. Каждый метод предлагает разные уровни детализации и требует разных разрешений.

Управление портом имеет большее значение, чем когда-либо. Автоматизированная разведывательная деятельность продолжает расти, и злоумышленники постоянно исследуют уязвимые точки входа. Независимо от того, защищаете ли вы производственные серверы или тестируете локальные службы, обеспечение безопасности портов имеет основополагающее значение для поддержания безопасной и функциональной системы.

TL;DR: краткий обзор

  • Используйте ss или netstat для быстрой проверки прослушиваемых портов без установки дополнительных инструментов.
  • Разверните nmap, когда вам нужно комплексное сканирование портов с подробным обнаружением сервисов.
  • Используйте lsof, чтобы определить, какой конкретный процесс использует определенный порт.
  • Используйте Test-NetConnection PowerShell из Windows для проверки портов на удаленных серверах Linux.

Что такое порт простыми словами?

Трехмерная иллюстрация сервера как здания со множеством пронумерованных «дверей» портов, объясняющая простыми словами, что такое порт.

Думайте о портах как о пронумерованных дверных проемах на вашем сервере. Каждый порт служит конечной точкой связи, через которую сетевой трафик входит или выходит из вашей системы. Номера портов варьируются от 0 до 65 535 и разделены на три категории: общеизвестные порты (0–1023), зарегистрированные порты (1024–49151) и динамические порты (49152–65 535).

Проще говоря, когда вы просматриваете веб-сайт, ваш браузер обращается к порту 80 для HTTP или порту 443 для HTTPS. Серверы электронной почты отвечают на порт 25 для SMTP, а удаленный доступ SSH работает на порту 22. Эти порты прослушивания действуют как шлюзы для законного трафика, но они также могут стать точками входа для злоумышленников, если их оставить незащищенными.

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

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

Увеличительное стекло с надписью «netstat», проверяющее сетевые соединения, символизирует роль команды в сетевом анализе.

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

Использование команды netstat

Команда netstat на протяжении десятилетий была надежным инструментом сетевого анализа. Чтобы проверить открытые порты, используйте нетстат -tuln где каждый флаг служит определенной цели: -t показывает соединения TCP, -u отображает соединения UDP, -l фильтрует только прослушиваемые порты, а -n представляет результаты в числовом формате, а не разрешает имена хостов.

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

The Команда netstat в Linux предлагает дополнительные флаги для более детального анализа. Добавление -p показывает, какому процессу принадлежит каждое соединение, хотя для этого требуются права root. Например, sudo netstat -tulnp показывает как порт, так и идентификатор процесса, использующего его.

Использование команды сс

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

Для проверки открытых портов с помощью расширенной фильтрации ss предоставляет мощные возможности синтаксиса. Бег сс-тулнп | греп :22 показывает только соединения, связанные с SSH. Команда состояние ss -tn установлено отображает все установленные TCP-соединения, помогая отслеживать активные сеансы.

Одним из преимуществ ss является его способность фильтровать по определенным критериям. Например, ss -t '( dport = :80 или sport = :80 )' показывает только соединения, связанные с веб-трафиком через порт 80. Такая точность делает ss бесценным средством устранения неполадок конкретных служб.

Использование команды lsof

Команда lsof превосходно определяет, какой процесс использует определенный порт. Бег судо lsof -i -P -n показывает все сетевые соединения с подробностями процесса. Флаг -i фильтрует подключения к Интернету, -P предотвращает преобразование номеров портов в имена служб, а -n пропускает разрешение DNS для более быстрого получения результатов.

Когда вам нужно найти, что использует определенный порт, lsof дает ответ. Например, судо lsof -i:3306 показывает, запущен ли MySQL и какой идентификатор процесса им владеет. Это становится критически важным при устранении конфликтов портов или выявлении неавторизованных сервисов.

Вы также можете фильтровать результаты по конкретным приложениям. Если вы подозреваете, что определенная программа прослушивает неожиданные порты, sudo lsof -i -a -p [PID] показывает все сетевые подключения для этого конкретного идентификатора процесса.

Использование Nmap для сканирования портов

Карта сети, сканируемая Nmap, которая выглядит как сонар, определяющий открытые и закрытые порты на разных устройствах.

Nmap является одним из наиболее полных доступных инструментов сканирования портов. Сначала установите его с помощью sudo apt установить nmap в системах Ubuntu или Debian. Для проверки локального порта используйте Nmap локальный хост or нмап 127.0.0.1 для базового сканирования.

Для удаленных серверов укажите IP-адрес: нмап 192.168.1.100. Nmap предоставляет подробную информацию об открытых портах, версиях служб и даже об обнаружении операционной системы с помощью расширенных флагов. Команда nmap -sV локальный хост выполняет определение версии службы, точно показывая, какое программное обеспечение работает на каждом порту.

Команды безопасности ценят способность Nmap тестировать правила брандмауэра. Бег nmap -Pn [IP] сканирует хост, даже если пинг заблокирован. Однако всегда проверяйте наличие разрешения перед сканированием удаленных серверов, поскольку несанкционированное сканирование портов может нарушить политику безопасности.

Использование Netcat (nc) для проверки открытых портов

Netcat предлагает простой подход к проверке портов с минимальными издержками. Команда nc -zv локальный хост 22-80 сканирует диапазон портов с 22 по 80, показывая, какие порты принимают соединения. Флаг -z включает режим сканирования без отправки данных, а -v обеспечивает подробный вывод.

Для однопортовой проверки nc -zv имя хоста 443 быстро подтверждает, доступен ли HTTPS. Этот метод оказывается полезным в сценариях и рабочих процессах автоматизации. Вы можете комбинировать netcat с циклами оболочки для более широкого сканирования: для порта в {1..1000}; do nc -zv localhost $port 2>&1 | grep преуспел; сделанный

The прослушиватель Netcat Функциональность выходит за рамки проверки портов и включает фактическое тестирование служб и передачу данных, что делает его универсальным инструментом в наборе инструментов любого администратора.

Использование PowerShell для проверки открытых портов

PowerShell позволяет пользователям Windows проверять открытые порты на удаленных серверах Linux без установки дополнительного программного обеспечения. Команда Test-NetConnection -ComputerName [Linux-IP] -Порт 22 проверяет доступность SSH с компьютера под управлением Windows.

Для сканирования нескольких портов создайте простой цикл PowerShell: 1..1024 | ForEach-Object { Test-NetConnection -ComputerName 192.168.1.100 -Port $_ -WarningAction SillyContinue } | Где-Объект { $_.TcpTestSucceeded }. Этот метод эффективно работает при проверке портов Ubuntu, Debian или любого другого дистрибутива Linux из систем Windows.

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

Сравнение методов сканирования портов

Инструмент Синтаксис команды Лучшее для Предварительные условия
нетстат нетстат -tuln Краткий обзор портов прослушивания Предустановлено в большинстве систем
ss сс -тулн Высокая производительность, подробная информация о разъеме Предустановлено (современный Linux)
лсоф судо lsof -i -P -n Определение того, какой процесс использует порт Требуется root/sudo доступ
Nmap Nmap локальный хост Комплексное сканирование портов Необходимо установить отдельно
неткэт nc -zv хост-порт Простые тесты подключения портов Предустановлен или прост в установке
PowerShell Тест-NetConnection Удаленное сканирование из Windows Требуется машина с Windows

Распространенные порты Linux и связанные с ними службы

Порт Услуга Протокол Общее использование
22 SSH TCP Безопасный удаленный доступ через Удаленное соединение SSH
80 HTTP TCP Незашифрованный веб-трафик
443 HTTPS TCP Зашифрованный веб-трафик
21 FTP TCP Передача файлов
25 SMTP TCP Отправка электронной почты
3306 MySQL TCP Подключения к базе данных
5432 PostgreSQL TCP Подключения к базе данных

Для настройки порта требуется знание настроек брандмауэра и привязок служб. Многие администраторы изменить порт SSH в Linux с 22 по умолчанию на нестандартный порт, чтобы уменьшить количество попыток автоматических атак. Telnet против SSH дебаты подчеркивают, почему порт 23 (Telnet) должен оставаться закрытым в пользу зашифрованного протокола SSH порта 22.

Понимание открытых портов в Linux

Крепостная стена с пронумерованными портовыми воротами, одни из которых открыты и уязвимы, что символизирует угрозу безопасности открытых портов.

Каждый открытый порт представляет собой потенциальную точку входа в вашу систему. Последствия для безопасности усилились: активность автоматического сканирования портов растет 16,7% в мире, поскольку субъекты угроз постоянно исследуют уязвимые точки входа. Эти разведывательные действия ежемесячно сканируют миллиарды портов в поисках неправильно настроенных сервисов или устаревшего программного обеспечения.

Это справедливо, но что на самом деле происходит, когда злоумышленники обнаруживают открытый порт? Государства порта расскажут вам эту историю. Порт в состоянии LISTEN принимает входящие соединения, ESTABLISHED указывает на активную передачу данных, а TIME_WAIT показывает соединение, недавно закрытое, но все еще отслеживаемое. Злоумышленники используют открытые порты различными методами: перебор SSH (порт 22), внедрение SQL-кода через веб-порты (80/443) и удаленное выполнение кода через уязвимые сервисы.

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

Экосистема Linux столкнулась с серьезными проблемами безопасности: сотни уязвимостей требуют исправлений. Регулярный аудит портов помогает обнаружить неавторизованные службы раньше, чем это сделают злоумышленники. Используйте инструменты передачи файлов, которые соблюдают границы безопасности, такие как копирование файлов через SSH вместо незашифрованного FTP. При перемещении файлов между системами используйте SCP для копирования файлов из удаленной в локальную систему обеспечивает зашифрованную передачу по защищенному каналу SSH.

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

Как Linux VPS от Cloudzy упрощает управление портами

Управление портами становится значительно проще благодаря хорошо настроенной инфраструктуре. Cloudzy’s Linux VPS Решения предоставляют предварительно настроенные параметры безопасности, в том числе интеллектуальные правила брандмауэра и оптимизированное управление портами с помощью интуитивно понятной панели управления. Имея полный root-доступ, вы сохраняете полный контроль над тем, какие порты открывать или закрывать.

Linux VPS-хостинг

Приобретите Linux VPS эконом- или премиум-класса для размещения вашего веб-сайта или удаленного рабочего стола по самой низкой цене. VPS работает на Linux KVM для повышения эффективности и работает на мощном оборудовании с SSD-накопителем NVMe для повышения скорости.

Читать далее

Производительность имеет значение при проверке портов и управлении ими. Хранилище Cloudzy NVMe обеспечивает эффективную работу ваших инструментов сканирования портов, а соединения со скоростью до 10 Гбит/с обрабатывают большой объем трафика без узких мест. Инфраструктура выигрывает от того, что Linux управляет значительной частью глобальной серверной инфраструктуры, что делает эти оптимизированные конфигурации проверенными и надежными.

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

Заключение

Итак, как лучше всего проверить открытые порты? Проще говоря, его нет. Для быстрой локальной проверки используйте ss или netstat, чтобы выполнить работу без суеты. Когда вам нужен комплексный аудит безопасности, Nmap все покажет. Чтобы отследить, какой процесс владеет портом, lsof экономит часы угадывания. PowerShell объединяет Windows и Linux, когда вам нужна удаленная проверка.

Настоящий урок здесь не в запоминании команд. Речь идет о том, чтобы сделать проверку портов рутиной, а не панической реакцией. Запланируйте еженедельное сканирование, закройте неиспользуемые порты, как только вы их обнаружите, и документируйте, каким сервисам какие порты нужны. Такой подход превращает проверку портов из реагирования на пожар в превентивную защиту.

Делиться

Еще из блога

Продолжайте читать.

Изображение заголовка Cloudzy для руководства MikroTik L2TP VPN, на котором показан ноутбук, подключающийся к серверной стойке через светящийся сине-золотой цифровой туннель со значками щита.
Безопасность и сеть

Настройка MikroTik L2TP VPN (с IPsec): Руководство по RouterOS (2026 г.)

В этой настройке MikroTik L2TP VPN L2TP управляет туннелированием, а IPsec — шифрованием и целостностью; их объединение дает вам совместимость с собственным клиентом без стороннего устаревания.

Рекса СайрусРекса Сайрус 9 минут чтения
Окно терминала, отображающее предупреждающее сообщение SSH об изменении идентификации удаленного хоста, с заголовком «Руководство по исправлению» и фирменным знаком Cloudzy на темно-бирюзовом фоне.
Безопасность и сеть

Предупреждение: идентификация удаленного хоста изменилась и как это исправить

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

Рекса СайрусРекса Сайрус 10 минут чтения
Иллюстрация руководства по устранению неполадок DNS-сервера с предупреждающими символами и синим сервером на темном фоне для ошибок разрешения имен Linux
Безопасность и сеть

Временный сбой в разрешении имени: что это значит и как исправить?

При использовании Linux вы можете столкнуться с временной ошибкой разрешения имен при попытке получить доступ к веб-сайтам, обновить пакеты или выполнить задачи, требующие подключения к Интернету.

Рекса СайрусРекса Сайрус 12 минут чтения

Готовы к развертыванию? От $2,48 в месяц.

Независимое облако, с 2008 г. AMD EPYC, NVMe, 40 Гбит/с. 14-дневный возврат денег.