Проверка открытых и прослушиваемых портов в Linux с помощью netstat и ss ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
06.12.2024

Проверка открытых и прослушиваемых портов в Linux с помощью netstat и ss

Мониторинг открытых и прослушиваемых портов в системе Linux необходим для обеспечения безопасности, устранения неполадок в сети и системного администрирования. Знание того, какие порты используются и какими службами, может помочь обнаружить потенциальные уязвимости или несанкционированный доступ. Два распространенных инструмента, используемых для этой цели, – netstat и ss.

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

1. Понимание портов и их типов

Прежде чем мы погрузимся в работу с инструментами, важно понять основные типы портов, с которыми вы можете столкнуться:

  • Открытые порты: Это порты, на которых приложения активно прослушивают соединения.
  • Слушающие порты: Это порты, к которым привязана служба или приложение и которые активно ожидают входящего сетевого трафика.
  • Общие протоколы:
    • TCP: Transmission Control Protocol (надежный, основанный на соединениях).
    • UDP: User Datagram Protocol (протокол без соединения, менее надежный, но более быстрый).

2. Проверка портов с помощью netstat

Что такое netstat?

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

Установка netstat

netstat входит в состав пакета net-tools. В современных дистрибутивах Linux вам может потребоваться установить его вручную:

  • Debian/Ubuntu:
    sudo apt install net-tools
  • CentOS/RHEL:
    sudo yum install net-tools

Использование netstat для проверки открытых и прослушиваемых портов

Чтобы проверить все прослушиваемые порты в вашей системе, включая TCP и UDP, используйте следующую команду:

sudo netstat -tuln
  • t: Показать порты TCP.
  • u: Показать порты UDP.
  • l: Показать только прослушиваемые порты.
  • n: Показывать числовые адреса вместо разрешения имен хостов и служб.

Пример вывода:

  • Локальный адрес: IP-адрес и порт, на котором прослушивается служба.
  • Иностранный адрес: IP-адрес и порт удаленного клиента (для активных соединений).
  • Состояние: Состояние соединения (например, LISTEN для открытых портов).

Фильтрация определенных портов или служб с помощью netstat

Вы можете отфильтровать вывод, чтобы сосредоточиться на определенных портах или службах. Например, чтобы проверить порты, связанные с HTTP (порт 80):

sudo netstat -tuln | grep ":80"

Это отобразит все службы, прослушивающие порт 80.

3. Проверка портов с помощью ss

Что такое ss?

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

Использование ss для проверки открытых и прослушиваемых портов

Синтаксис ss очень похож на синтаксис netstat. Чтобы проверить все прослушиваемые порты TCP и UDP, используйте:

ss -tuln
  • t: Показать TCP-сокеты.
  • u: Показать UDP-сокеты.
  • l: Показать только прослушиваемые сокеты.
  • n: Показывать числовые адреса (не разрешать имена хостов).

Пример вывода:

Этот вывод показывает все прослушиваемые порты и их состояние (аналогично netstat).

Расширенное использование ss

ss предоставляет более сложные опции для фильтрации и отображения соединений на основе различных критериев.

Отображать только прослушиваемые TCP-порты:

ss -tl

Отображение только прослушиваемых UDP-портов:

ss -ul

Отображение прослушиваемых портов по идентификатору процесса (PID):

Чтобы узнать, какой процесс связан с прослушиваемым портом, используйте:

ss -tulnp

Параметр p показывает процесс, использующий порт, что полезно для устранения неполадок.

4. Сравнение netstat и ss

И netstat, и ss служат схожим целям, но есть и различия, на которые стоит обратить внимание:

  • Скорость и эффективность: ss работает быстрее, чем netstat, и потребляет меньше ресурсов. Он может более эффективно обрабатывать большое количество соединений.
  • Доступность: ss включен по умолчанию в большинство современных дистрибутивов Linux, в то время как netstat требует установки пакета net-tools на некоторых системах.
  • Формат вывода: Обе программы предоставляют подробную информацию о портах и соединениях, но ss имеет больше возможностей для фильтрации и отображения конкретной информации.

Когда следует использовать netstat:

  • При работе на старых системах Linux.
  • Когда вы знакомы с синтаксисом netstat и не хотите переключаться.

Когда следует использовать ss:

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

5. Другие инструменты для проверки открытых портов

Помимо netstat и ss, есть и другие инструменты, которые можно использовать для проверки открытых и прослушиваемых портов в Linux:

lsof выводит список открытых файлов, которые могут включать сетевые сокеты. С его помощью можно проверить, какой процесс прослушивает определенный порт

sudo lsof -i :80

Это покажет процессы, использующие порт 80.

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

sudo nmap -sT -O localhost

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

Заключение

Мониторинг открытых и прослушиваемых портов – важная задача для системных администраторов, и такие инструменты, как netstat и ss, облегчают ее выполнение. Хотя netstat все еще используется в старых системах, ss стал предпочтительным инструментом благодаря своей скорости и эффективности. Если вы устраняете неполадки в сети или защищаете свой Linux-сервер, эти инструменты помогут вам отслеживать активные службы и обеспечить правильное управление портами.

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

Дайте мне знать, если вам нужны дополнительные разъяснения или помощь!

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills