Як відстежувати використання LAN? (AKA 'top for LAN')


27

Є зла програма, яка їсть ВСІ мої пропускну здатність для завантаження (я бразильський, це лише ~ 35 кбіт / с) приблизно 80% часу мого ПК.

Мені хотілося б знати, чи є спосіб відстежити це використання та дізнатися, що це робить.

Відповіді:


12

А як із сітчастими собачками ? На мою думку, це набагато гуманніше. Перераховує, які команди / програми використовують мережу та скільки пропускної здатності для кожної з них у режимі реального часу.

Встановіть його в системах ubuntu / debian за допомогою:

sudo apt-get install nethogs

Запустіть його для моніторингу вашого мережевого інтерфейсу так:

sudo nethogs eth0

alt текст


дуже цікаво! = D Виправте свою проблему краще, ніж комбінований iftop + netstat. Не те, що обидва не гарні, вони приголомшливі, але не для того, що мені потрібно. = D
igorsantos07

це, мабуть, не має пакетного режиму.
Nicholas DiPiazza

19

iftopце програма на основі консолі / оболонки, схожа на вершину, яка може використовувати бібліотеку pcap (також використовується tcpdump та wireshark). Він доступний для Ubuntu від Universe.

sudo aptitude install iftop
sudo iftop

Під час запуску оновлення системи ubuntu:

alt текст

За допомогою netstat ви можете дізнатися, який процес пов'язаний з певним портом або IP. Для портів гарною ідеєю є приставка з двокрапкою.

sudo netstat -plantu | grep "some_port_number_or_ip_address"

Наприклад, щоб відкрити з'єднання для ssh:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

Ви також можете шукати з'єднання відкритого порту з lsof:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

Ви можете отримати більше інформації про відкриті файли з lsof за допомогою -p PID.

sudo lsof -p 2376

(Багато виходу з цього придушеного)


За допомогою цієї програми я міг визначити, де ІТ їсть мій зв’язок ... і за допомогою netstat я міг визначити, хто це робить. Мені потрібно позначити ці обидві відповіді як правильні! XD
igorsantos07

Я дійсно не думаю, що було б корисно відредагувати свою відповідь та додати багато нової інформації ... але я не можу думати про будь-яке інше рішення, тому .. ще раз дякую =]
igorsantos07

2
@Igoru Просто покращення відповіді, щоб люди отримували більш релевантну інформацію, якщо вони шукають питання, подібні до вашого.
jtimberman

1
Зачекайте ... це система Ubuntu? Схоже на OS X.
Механічний равлик

Я перейшов до системи ubuntu від свого Mac.
jtimberman

9

ntop - твій друг. Пакети знаходяться в репозиторіях Linux та макпортах.


2
ntop - відмінна програма, але це, мабуть, надмірно і надто складно для цього.
jtimberman

Я не думаю, що це доброзичливо, як я хотів би ... Я думаю, що є стільки інформації для того, що мені потрібно. І ваша відповідь не точно .... надійна. Але все-таки дякую =]
igorsantos07

5

Крім використання iftop для ідентифікації адреси та порту, який використовує пропускну здатність, ви можете використовувати netstat для ідентифікації процесу

sudo netstat -ntp

Це покаже всі відкриті TCP-з'єднання та ім’я / ідентифікатор процесу, приєднані до кожного.


Оскільки я не можу голосувати "прийнятим" як для вас, і iftopя прийму його - це показало мені ТОЧНО, коли і як хтось їсть мою пропускну здатність - і проголосую за вас, netstatбо я міг знати, кого я повинен вбити. Дякую!
igorsantos07

Крім того, ви можете використовувати, lsof -i tcp:80щоб сконцентрувати свій пошук на одному порту. У цій конкретній версії будуть перераховані всі процеси, підключені до порту tcp 80.
nagul

2

На мою думку, користувальницький інтерфейс iftop недостатньо розроблений. На практиці навряд чи виникає потреба у перегляді IP-адрес чи імен хостів у режимі реального часу. Якщо мені знадобиться, перелік усіх поточних з'єднань, я б просто пішов з netstat, як пояснив jtimberman.

У моїх цілях bmon краще підходить, ніж iftop. Він має дуже спрощений користувальницький інтерфейс з підтримкою декількох інтерфейсів та нанесенням "графіків". Ось скріншот:

викривлення

Якщо вам не потрібні всі можливості, які пропонує bmon , bwm-ng може бути ідеальним інструментом для вас. Він показує лише поточну зайняту пропускну здатність на інтерфейс - не більше і не менше:

bwm-ng


2

nload - це чудовий інструмент для моніторингу пропускної здатності в режимі реального часу і легко встановлюється в Ubuntu або Debian за допомогою sudo apt-get install nload.

Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:


                               .         ...|    
                               #         ####|   
                           .. |#|  ...   #####.         ..          Curr: 2.07 MBit/s
                          ###.###  #### #######|.     . ##      |   Avg: 1.41 MBit/s
                         ########|#########################.   ###  Min: 1.12 kBit/s
             ........    ###################################  .###  Max: 4.49 MBit/s
           .##########. |###################################|#####  Ttl: 1.94 GByte
Outgoing:
            ##########  ###########    ###########################
            ##########  ###########    ###########################
            ##########. ###########   .###########################
            ########### ###########  #############################
            ########### ###########..#############################
           ############ ##########################################
           ############ ##########################################
           ############ ##########################################  Curr: 63.88 MBit/s
           ############ ##########################################  Avg: 32.04 MBit/s
           ############ ##########################################  Min: 0.00 Bit/s
           ############ ##########################################  Max: 93.23 MBit/s
         ############## ##########################################  Ttl: 2.49 GByte

Ще одним чудовим інструментом є iftop , який також легко підходить для отримання:

             191Mb      381Mb                 572Mb       763Mb             954Mb     
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local            => box-2.local                      91.0Mb  27.0Mb  15.1Mb
                      <=                                  1.59Mb   761kb   452kb
box4.local            => box.local                         560b   26.8kb  27.7kb
                      <=                                   880b   31.3kb  32.1kb
box4.local            => userify.com                         0b   11.4kb  8.01kb
                      <=                                  1.17kb  2.39kb  1.75kb
box4.local            => b.resolvers.Level3.net              0b     58b    168b
                      <=                                     0b     83b    288b
box4.local            => stackoverflow.com                   0b     42b     21b
                      <=                                     0b     42b     21b
box4.local            => 224.0.0.251                         0b      0b    179b
                      <=                                     0b      0b      0b
224.0.0.251           => box-2.local                         0b      0b      0b
                      <=                                     0b      0b     36b
224.0.0.251           => box.local                           0b      0b      0b
                      <=                                     0b      0b     35b


─────────────────────────────────────────────────────────────────────────────────
TX:           cum:   37.9MB   peak:   91.0Mb     rates:   91.0Mb  27.1Mb  15.2Mb
RX:                  1.19MB           1.89Mb              1.59Mb   795kb   486kb
TOTAL:               39.1MB           92.6Mb              92.6Mb  27.9Mb  15.6Mb

Не забувайте про класичні та потужні утиліти sar і netstat на старих * nix!


1

Wireshark - це також дуже хороший (багатоплатформенний) додаток для моніторингу мережевого трафіку. Ось опис сайту:

Wireshark - головний у світі аналізатор мережевих протоколів і є фактичним (а часто і де-юре) стандартом у багатьох галузях та освітніх установах.


0

Це можна зробити на рівні маршрутизатора, залежно від вашої прошивки. Наприклад, якщо ви використовуєте DD-WRT , ви можете відслідковувати використання в часі та машиною.


Насправді я думаю, що використання мого маршрутизатора ADSL для вирішення цієї невеликої проблеми є надмірним і надскладним. Я думаю, що це вирішити просто. Але дякую за допомогу!
igorsantos07

0

Встановіть брандмауер і принаймні тимчасово змусьте його блокувати всі вихідні з'єднання. Він повинен повідомити вас, коли щось намагається встановити зв'язок, у який момент ви повинні мати свого винуватця :-)

Ось одна з багатьох статей в Інтернеті, яка дає вам інформацію про встановлення брандмауера на ubuntu:
http://linux.com/news/enterprise/systems-management/8256-installing-a-firewall-on-ubuntu


Я думаю, що у мене вже є UFW в моєму Ubuntu .. Я все-таки думаю, що це було б трохи проблем з цим підходом. Проблема не відбувається постійно, вона переривчаста, але небагато часта. Але якщо інші чисті інформаційні програми виходять з ладу, я спробую брандмауер! Дякую!
igorsantos07
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.