Главная > Управление сетью > netstat

Руководство по команде netstat: Проверка сетевых подключений и статистики (устаревшее)

`netstat` команда (сетевая статистика) используется в операционных системах Linux и Unix для отображения сетевых подключений, таблиц маршрутизации, статистики интерфейса, маскарадных подключений и т.д. Это полезный инструмент для мониторинга состояния сети системы и устранения неполадок. **Однако в современных системах Linux команда `ss` (статистика сокетов) заменяет `netstat` и предоставляет более быстрые и мощные функции. Поэтому рекомендуется использовать команду `ss`.** В этом руководстве вы поймете основное использование `netstat` и причины, по которым следует перейти на `ss`.

Обзор 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 и т.д.


Те же команды в категории