Відповіді:
Ви можете спробувати NetHogs .
NetHogs - це невеликий інструмент 'net top'. Замість того, щоб скорочувати трафік за протоколом або по підмережі, як це робить більшість інструментів, він групує пропускну здатність за процесом . NetHogs не покладається на спеціальний модуль ядра для завантаження. Якщо раптово багато мережевого трафіку, ви можете запустити NetHogs і відразу побачити, який PID викликає це. Це дозволяє легко визначити програми, які зачарували і раптом зайняли вашу пропускну здатність.
sudo nethogs -p eth2
. Ви повинні вказати свою мережу, якщо вона за замовчуванням не є eth0.
Існує чимало перерахованих тут .
Мої фаворити, однак, залишаються iftop та tcpdump . Wireshark - це також дуже хороший варіант.
Спробуйте atop
... щоб максимально використати це, можливо, вам доведеться включити кілька додаткових патчів ядра (патчі обліку вводу / виводу).
Якщо atop
це не варіант, тоді використовуйте netstat -anp --inet
(як root), щоб перелічити, які порти TCP / UDP використовуються якими процесами (або можливо, lsof
для цього). Звідти просто повторіть кожен процес, який має відкритий сокет, і приєднайтеся до нього за допомогою ltrace -S
чи strace
перегляньте прочитане, записування, відправлення та отримання або використовуйте tcpdump
фільтр із зазначенням ваших локальних IP-адрес та портів TCP / UDP. які були перелічені.
atop
це, звичайно, найзручніше з них ... якщо у вас є і встановлена необхідна підтримка ядра. У минулому у мене були замовники та роботодавці, які встановлювали спеціальні системи (відмінні від їхніх виробничих зображень) з єдиною метою підтримки використання профілів вводу / виводу atop
. Однак ці інші методи приведуть вас туди.
Я впевнений, що ми також могли б щось зробити за допомогою SystemTap ... але я не знаю жодних простих заздалегідь приготовлених рецептів для цього. SystemTap - це дуже великий інструмент аналізу програм.
netstat -anp --inet
, щоб переглянути Recv-Q
і Send-Q
стовпці