Гид по технологиям

Как узнать, какие процессы Linux используют интернет

4 min read Linux Обновлено 29 Dec 2025
Какие процессы Linux используют интернет
Какие процессы Linux используют интернет

Кабели, подключённые к сетевому коммутатору

Почему это важно

Интернет-соединение в современной системе критично. Иногда требуется узнать, какой процесс «съедает» вашу полосу пропускания. Это нужно, если интернет медленный, если вы хотите обнаружить фоновую загрузку или подозрительную активность. Ниже — практические инструменты и приёмы для локального мониторинга сетевой активности.

Основные инструменты и как их использовать

1. nethogs

nethogs в терминале и запущенный Transmission на Linux

nethogs показывает использование сети по процессам в режиме, похожем на top/htop для CPU и памяти. Это полноэкранная утилита, которая обновляет данные каждые несколько секунд и отображает, какие процессы используют входящий и исходящий трафик.

Установка (пример для популярных дистрибутивов):

# Debian / Ubuntu
sudo apt install nethogs

# Arch Linux
sudo pacman -S nethogs

# Fedora / CentOS / RHEL
sudo dnf install nethogs

Запуск (требуются права root):

sudo nethogs

Чтобы разрешить запуск nethogs обычному пользователю, можно назначить необходимые капабилити (замените /path/to/nethogs на реальный путь, найдёте через which):

which nethogs
sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs

Важно: setcap даёт привилегии бинарнику. Делайте это только для доверенных программ.

2. lsof

Вывод lsof -i в терминале Linux

lsof (list open files) показывает открытые файлы и сетевые соединения. Опция -i выводит сетевые сокеты, привязанные к процессам.

Примеры команд:

# Показать все текущие сетевые соединения
lsof -i

# Только IPv4
lsof -i4

# Только IPv6
lsof -i6

Установка:

# Debian / Ubuntu
sudo apt install lsof

# Arch Linux
sudo pacman -S lsof

# Fedora / CentOS / RHEL
sudo dnf install lsof

lsof выводит имя команды, PID, файловый дескриптор, тип протокола, состояние и адреса. Это удобно для быстрого соответствия PID ↔️ соединение.

3. netstat (и современная альтернатива ss)

Вывод netstat -p в терминале Linux

netstat (из пакета net-tools) показывает таблицы соединений, маршрутизации и статистику интерфейсов. Опция -p добавляет PID/имя процесса. Однако netstat устаревает в некоторых дистрибутивах — вместо него рекомендуют ss (из iproute2).

Установка netstat:

# Debian / Ubuntu
sudo apt install net-tools

# Arch Linux
sudo pacman -S net-tools

# Fedora / CentOS / RHEL
sudo dnf install net-tools

Использование:

# Показать соединения и процесс
netstat -p

# Постоянный режим (обновление)
netstat -pc

# Отфильтровать по процессу через grep
netstat -p | grep 'systemd'

Альтернатива — ss (быстрее и современнее):

# Показать сокеты и процессы
ss -plant

# Показать UDP
ss -pun

ss выводит похожую информацию и обычно предустановлен в новых дистрибутивах.

Когда один инструмент не подходит

  • nethogs отлично показывает текущую скорость по процессам, но не хранит историю. Для длительного учёта нужен инструмент сбора метрик (Prometheus + node_exporter/blackbox) или tcpdump/wireshark для детального анализа.
  • lsof даёт снимок «что сейчас открыто», но не показывает объёмы трафика.
  • netstat или ss подходят для диагностики соединений, но не показывают объём переданных байт по процессам в реальном времени.

Альтернативные инструменты и подходы

  • iftop — интерактивный просмотр трафика между хостами (не по процессам).
  • bmon — мониторинг пропускной способности интерфейсов.
  • iptraf-ng — текстовый сетевой монитор, полезен для статистики по портам/протоколам.
  • tc / iptables / nftables — для управления трафиком и ограничения скорости.
  • tcpdump/wireshark — захват пакетов и подробный анализ (полезно при подозрениях на утечку данных).

Модель принятия решения (как выбрать инструмент)

  • Нужно быстро увидеть «кто сейчас гонит трафик» → nethogs.
  • Нужно узнать, какие процессы открыли сетевые сокеты → lsof или ss.
  • Нужна история и метрики → используйте систему мониторинга (Prometheus, Grafana) или собирайте статистику через nethogs + логирование.
  • Требуется блокировка/ограничение трафика → tc или firewall (nftables/iptables).

Матрица сравнения (кратко)

  • nethogs: по процессам, реальное время, нет истории.
  • lsof: список открытых соединений, показывает PID, нет измерения объёма.
  • ss/netstat: сетевые таблицы, подробности соединений, удобен для фильтрации.
  • iftop: по парам хостов, интерактивно, не по PID.
  • tcpdump: самый низкоуровневый, требует анализа пакетов.

Схема действий — быстрый чек-лист для ролей

  • Для домашнего пользователя:

    1. Запустите nethogs, посмотрите процессы.
    2. Если процесс неизвестен — lsof -i | grep или ss -p.
    3. При подозрении — остановите процесс или прервите соединение.
  • Для системного администратора:

    1. Используйте ss -plant и lsof для соответствия сервисов.
    2. Проверьте правила firewall и лимиты с tc.
    3. Включите логирование трафика и собирайте метрики.
  • Для специалиста по безопасности:

    1. Захватите пакеты tcpdump для подозрительных соединений.
    2. Проанализируйте связи с внешними IP и доменами.
    3. Убедитесь, что нет утечек чувствительных данных.

Полезный набор команд (cheat sheet)

# показать процессы по трафику
sudo nethogs

# показать сетевые соединения (lsof)
lsof -i

# показать все TCP-соединения с PID (ss)
ss -plant

# отфильтровать netstat/ss по процессу
netstat -p | grep <имя>
ss -p | grep <имя>

# найти путь к бинарнику
which nethogs

# дать бинарю нужные капабилити
sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs

# захват пакетов для PID (пример)
sudo tcpdump -i any host 1.2.3.4 and port 443

Краткий глоссарий — одно предложение на термин

  • PID — идентификатор процесса в системе.
  • Сокет — конечная точка сетевого соединения (IP:порт).
  • TCP/UDP — транспортные протоколы; TCP надёжный, UDP — без установления соединения.
  • Capabilities — набор привилегий, которые можно дать бинарю без полного root-доступа.

Соображения по безопасности и конфиденциальности

Мониторинг сетевой активности затрагивает приватные данные. На рабочих местах соблюдайте правила компании и юридические требования. Захват пакетов (tcpdump/wireshark) может содержать личные данные — храните их защищённо и удаляйте по завершении анализа.

Важно: не давайте ненадёжным программам права root и capabilities без проверки их происхождения.

Критерии приёмки

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

Краткое резюме

nethogs — лучший инструмент для быстрого интерактивного просмотра потребления трафика по процессам. lsof и ss/netstat дают более детальную информацию о текущих соединениях и PID. Для глубокого анализа используйте tcpdump/wireshark и системы мониторинга для истории. Всегда учитывайте безопасность и права доступа при запуске утилит.

Важно: если вы не уверены в процессе, сначала изучите его происхождение, затем прекращайте его работу.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро