Проверка открытых и прослушиваемых портов в Linux с помощью netstat и ss
Мониторинг открытых и прослушиваемых портов в системе Linux – это необходимая практика для поддержания безопасности системы, устранения неполадок в сети и эффективного управления инфраструктурой сервера. ?️ Регулярно проверяя, какие порты открыты и какие службы их используют, вы можете опережать потенциальные риски безопасности, выявлять попытки несанкционированного доступа и гарантировать, что ваша система не подвержена уязвимостям. ?
Понимание того, какие службы привязаны к определенным портам, помогает обнаружить неправильную конфигурацию или неожиданное поведение, например незнакомые процессы, прослушивающие важные порты. Эти знания могут значительно снизить вероятность нарушения безопасности, предоставляя информацию, необходимую для закрытия ненужных портов или защиты используемых. ??
В этой статье мы рассмотрим, как использовать команды netstat и ss для проверки открытых и прослушиваемых портов в системе Linux.
1. Понимание портов и их типов
Прежде чем мы погрузимся в работу с инструментами, важно понять основные типы портов, с которыми вы можете столкнуться:
- Открытые порты: Это порты, на которых приложения активно прослушивают соединения.
- Слушающие порты: Это порты, к которым привязана служба или приложение и которые активно ожидают входящего сетевого трафика.
- Общие протоколы:
- TCP: Transmission Control Protocol (надежный, основанный на соединениях).
- UDP: User Datagram Protocol (протокол без соединения, менее надежный, но более быстрый).
2. Проверка портов с помощью netstat
Что такое netstat?
netstat – это классический инструмент командной строки, который предоставляет сетевую статистику и информацию о сетевых соединениях, включая открытые и прослушиваемые порты. Несмотря на то, что он был устаревшим в пользу более новых инструментов, таких как ss, он по-прежнему широко используется.
Установка netstat
netstat входит в состав пакета net-tools. В современных дистрибутивах Linux вам может потребоваться установить его вручную:
- Debian/Ubuntu:
- CentOS/RHEL:
Использование netstat для проверки открытых и прослушиваемых портов
Чтобы проверить все прослушиваемые порты в вашей системе, включая TCP и UDP, используйте следующую команду:
- –t: Показать порты TCP.
- –u: Показать порты UDP.
- –l: Показать только прослушиваемые порты.
- –n: Показывать числовые адреса вместо разрешения имен хостов и служб.
Пример вывода:
- Локальный адрес: IP-адрес и порт, на котором прослушивается служба.
- Иностранный адрес: IP-адрес и порт удаленного клиента (для активных соединений).
- Состояние: Состояние соединения (например, LISTEN для открытых портов).
Фильтрация определенных портов или служб с помощью netstat
Вы можете отфильтровать вывод, чтобы сосредоточиться на определенных портах или службах. Например, чтобы проверить порты, связанные с HTTP (порт 80):
Это отобразит все службы, прослушивающие порт 80.
3. Проверка портов с помощью ss
Что такое ss?
ss – это современная утилита, которая заменила netstat во многих дистрибутивах Linux. Она быстрее и эффективнее, чем netstat, особенно при работе с большим количеством соединений. ss может отображать открытые порты, информацию о сетевых сокетах и многое другое.
Использование ss для проверки открытых и прослушиваемых портов
Синтаксис ss очень похож на синтаксис netstat. Чтобы проверить все прослушиваемые порты TCP и UDP, используйте:
- –t: Показать TCP-сокеты.
- –u: Показать UDP-сокеты.
- –l: Показать только прослушиваемые сокеты.
- –n: Показать числовые адреса (не разрешать имена хостов).
Пример вывода:
Этот вывод показывает все прослушиваемые порты и их состояние (аналогично netstat).
Расширенное использование ss
ss предоставляет более сложные опции для фильтрации и отображения соединений на основе различных критериев.
Отображать только прослушиваемые TCP-порты:
Отображение только прослушиваемых UDP-портов:
Отображение прослушиваемых портов по идентификатору процесса (PID):
Чтобы узнать, какой процесс связан с прослушиваемым портом, используйте:
Параметр p показывает процесс, использующий порт, что полезно для устранения неполадок.
4. Сравнение netstat и ss
И netstat, и ss служат схожим целям, но есть и различия, на которые стоит обратить внимание:
- Скорость и эффективность: ss работает быстрее, чем netstat, и потребляет меньше ресурсов. Он может более эффективно обрабатывать большое количество соединений.
- Доступность: ss включен по умолчанию в большинство современных дистрибутивов Linux, в то время как netstat требует установки пакета net-tools на некоторых системах.
- Формат вывода: Обе программы предоставляют подробную информацию о портах и соединениях, но ss имеет больше возможностей для фильтрации и отображения конкретной информации.
Когда следует использовать netstat:
- При работе на старых системах Linux.
- Когда вы знакомы с синтаксисом netstat и не хотите переключаться.
Когда следует использовать ss:
- Когда вам нужна более высокая производительность, особенно в системах с большим количеством соединений.
- Для более продвинутой фильтрации и анализа сети.
5. Другие инструменты для проверки открытых портов
Помимо netstat и ss, есть и другие инструменты, которые можно использовать для проверки открытых и прослушиваемых портов в Linux:
lsof выводит список открытых файлов, которые могут включать сетевые сокеты. С его помощью можно проверить, какой процесс прослушивает определенный порт
Это покажет процессы, использующие порт 80.
nmap – это инструмент сканирования сети, который можно использовать для проверки открытых портов в системе.
Эта команда сканирует TCP-порты на локальном хосте.
Заключение
Мониторинг открытых и прослушиваемых портов – важная задача для системных администраторов, и такие инструменты, как netstat и ss, облегчают ее выполнение. Хотя netstat все еще используется в старых системах, ss стал предпочтительным инструментом благодаря своей скорости и эффективности. Если вы устраняете неполадки в сети или защищаете свой Linux-сервер, эти инструменты помогут вам отслеживать активные службы и обеспечить правильное управление портами.
Используйте netstat, если он вам более знаком, или переключитесь на ss для более быстрого и эффективного мониторинга открытых и прослушиваемых портов вашей системы.
Дайте мне знать, если вам нужны дополнительные разъяснения или помощь!