Как определить, какие процессы загружают и скачивают данные (и сколько)?

В системном мониторе я вижу, что данные загружаются и загружаются, в Etherape я вижу, к каким сайтам он подключается и какой протокол используется. Однако, не глядя на реальные пакеты в WireShark, а затем не найдя порт и какой процесс прослушивает этот порт, я не могу сказать, какие процессы загружают и скачивают данные. Поэтому мне было интересно, есть ли более простой способ использования WireShark (или другого инструмента), чтобы найти порт вручную, а затем посмотреть, какой процесс прослушивает этот порт? Это приложение в идеале:

  • Дай мне список процессов
  • Покажите мне (в КиБ / с) объем загружаемых и загружаемых данных (в разных столбцах)
  • Покажите мне PID процессов
  • Покажите мне порты, которые слушают процессы
  • Покажите мне всю эту информацию в таблице
  • Быть программой CLI (в идеале, но это не обязательно должно быть в CLI)
  • Есть возможность изменить интервал обновления данных

Я использую Ubuntu GNOME 15.10 с GNOME 3.18, есть ли такое программное обеспечение, которое отвечало бы моим потребностям?

1 ответ

Решение

Я думаю, что программа Nethogs идеально соответствует вашим требованиям. Из описания:

NetHogs - это небольшой инструмент для работы с сеткой. Вместо того, чтобы разбивать трафик на протокол или подсеть, как это делают большинство инструментов, он группирует пропускную способность по процессам.

Вы можете найти этот инструмент в упаковке nethogsтак что установите его с

sudo apt-get install nethogs

Инструмент запускается с помощью следующей команды:

sudo nethogs <if>
# e.g. sudo nethogs eth0

Вывод выглядит так:

Вы можете переключаться между различными режимами отображения с помощью M; это переключит между различными единицами измерения и использованием полосы пропускания в зависимости от объема данных.

Интервал обновления может быть установлен с помощью -d опция, как описано в manpage nethogs(8).

Другие вопросы по тегам