Обзор netstat
`netstat` предоставляет различные сведения о сетевой активности системы. Это полезно для диагностики, открыты ли определенные порты на сервере, какие процессы используют сетевые подключения, правильно ли определены маршруты и т.д. Однако, будучи частью пакета `net-tools`, он имеет неполную поддержку IPv6, и могут возникнуть проблемы с производительностью на крупных системах, поэтому он был заменен командой `ss` из пакета `iproute2`.
Основные функции netstat
`netstat` используется в основном для следующих целей:
Основные области применения (в прошлом и на некоторых системах)
- Проверка активных подключений: Отображает все текущие TCP, UDP подключения и порты, ожидающие подключения.
- Проверка таблицы маршрутизации: Отображает таблицу маршрутизации, которая определяет маршрут, по которому передаются IP-пакеты.
- Статистика сетевых интерфейсов: Предоставляет статистику передачи и приема пакетов для каждого сетевого интерфейса.
- Сопоставление процессов и портов: Позволяет узнать, какой процесс использует определенный порт.
`netstat` против `ss`
`netstat` использовался долгое время, но сейчас его роль заменила команда `ss`. Рекомендуется выработать привычку использовать `ss` на новых системах.
- netstat: Устаревший инструмент, основанный на файловой системе `/proc`, может быть медленным при большом количестве подключений, неполная поддержка IPv6.
- ss: Современный и быстрый, прямой доступ к статистике сокетов ядра, полная поддержка IPv6, больше опций фильтрации.
Установка netstat (по желанию)
Некоторые современные дистрибутивы Linux (например, начиная с Ubuntu 18.04) могут не иметь `netstat` установленным по умолчанию. При необходимости вы можете установить пакет `net-tools` для его использования.
Установка netstat (Debian/Ubuntu)
sudo apt update
sudo apt install net-tools
Команда для установки пакета `net-tools`, включающего `netstat`, на системах на базе Debian или Ubuntu.
Основные параметры команды netstat
`netstat` позволяет комбинировать различные параметры для детальной фильтрации и отображения необходимой сетевой информации.
1. Информация о подключениях и портах
2. Таблица маршрутизации и статистика
Сгенерированная команда:
Комбинируйте команды.
Описание:
`netstat` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите, как проверять сетевые подключения и статистику системы через различные примеры использования команды `netstat`.
Проверка всех активных TCP-подключений и портов ожидания
sudo netstat -tulpn
Наиболее часто используемая комбинация, отображающая TCP-подключения и порты ожидания в числовом формате, а также связанные с ними имена программ и PID.
Проверка всех только ожидающих (Listening) портов
sudo netstat -lntp
Проверяет все порты (TCP, UDP), ожидающие внешних подключений в текущей системе. Полезно для проверки, открыты ли серверные порты должным образом.
Проверка таблицы маршрутизации
netstat -rn
Отображает таблицу маршрутизации IP системы в числовом формате. Позволяет увидеть, по какому маршруту будут передаваться пакеты.
Проверка процесса, использующего определенный порт
sudo netstat -tulpn | grep :80
Проверяет информацию о процессах, имеющих TCP-подключения и порты ожидания, использующие порт `80`. (Полезно для диагностики веб-сервера)
Проверка статистики по сетевым интерфейсам
netstat -i
Отображает количество полученных (Rx) и переданных (Tx) пакетов, ошибки и т.д. для каждого сетевого интерфейса (например: `eth0`, `lo`).
Общая сводка сетевой статистики
netstat -s
Отображает общую сводку статистики для каждого сетевого протокола, включая TCP, UDP, IP и т.д.