Моніторинг пропускної спроможності мережі на сервері Linux із консолі


© Ігор Стецюк

У цій статті ми розглянемо інструменти для моніторингу мережної активності, які працюють у командному рядку. Вони призначені для аналізу мережного трафіку, вимірювання його швидкості як реального часу. Розглянемо основні елементи керування, а також деякі опції та параметри. Також до кожного огляду будуть прикріплені приклади та результати роботи. Статтю можна використовувати як для вивчення, так і для довідкового посібника.

Різновид програм у статті буде широким, деякі відображають інформацію для кожного процесу окремо, що дозволяє легко виявити зловживача, інші програми показують загальну картину, будують графіки, виводять активні з'єднання. Різні інструменти використовують різні механізми аналізу, одні беруть дані з "/sys/class/net/*/* та /proc/net/dev" постійно читаючи інформацію з цих файлів Інші використовують бібліотеку "libpcap" захоплюючи всі пакети, потім розраховуючи їх розмір обчислюють навантаження мережі.

Nload

Є дуже простим інструментом для перегляду завантаження каналу. Екран програми розділений на дві частини, вгорі відображається вхідний трафік, що в нижній частині вихідний. Клавішами "вгору - вниз", "вліво - вправо" "PageUp - PageDown", "Enter", "Tab" можна в режимі реального часу перемикатися на наступний або попередній мережевий інтерфейс. Клавіша "F2" (викликає/приховує) меню налаштувань, після зміни параметрів їх можна зберегти у профіль користувача за допомогою клавіші "F5"< /strong>, налаштування пишуться у файл "~/.nload", за бажання його можна редагувати будь-яким редактором. Також можна використовувати стандартні налаштування "F6" або вибрати з доступних варіантів, в режимі редагування "F2" використовуємо клавіші "+ (плюс) або - (мінус)".

Розглянемо опції:
nload [-a period] [-i max_scaling] [-m] [-o max_scaling] [-t interval] [-u h|H|b|B|k|K|m|M|g|G] [-U h|H|b|B|k|K|m|M|g|G] [devices]
  • -a period — Задає інтервал часу в секундах для підрахунку середнього значення. За промовчанням 300 секунд
  • -i max_scaling - Задає 100% позначку в kBit/s для графічного відображення пропускної спроможності вхідного трафіку. Стандартне значення 10240.
  • -m - Виведення декількох інтерфейсів одночасно, але графік не відображатиметься.
  • -t - Інтервал поновлення трафіку в мілісекундах. Типово 500
  • -o max_scaling - Те саме, що і "-i", тільки вказується вихідний трафік.
  • -i max_scaling - Задає інтервал оновлення дисплея в мілісекундах. За промовчанням інтервал 500. Не рекомендується значення менше 100.
  • -u h|H|b|B|k|K|m|M|g|G - Задає режим відображення трафіку (Bit/s-Byte/s, kBit/s-kByte/ s, Mbit/s-Mbyte/s...), верхній регістр означає кореляцію. Типово k.
  • - Те ж саме, що і "-u" тільки задає режим підрахунку трафіку. За промовчанням M.
  • devices - Задає пристрій
  • -h- Довідка
Приклад:
      $nload wlp5s2 -i 5000 -o 5000 -U G -t 400
nload.png

Установка:

    fedora або centos (Epel)
    $ sudo yum install nload -y

    ubuntu або debian
    $sudo apt-get install nload

    archlinux
    $sudo pacman -S nload

Iftop

Iftop призначений для вимірювання даних, що проходять через мережеві сокети, на відміну від nload він вимагає прав root і використовує бібліотеку "libpcap" захоплюючи пакети мережного адаптера, що проходять, а потім проводить розрахунки для вимірювання пропускної спроможності каналу Дозволяє швидко виявити напрямок трафіку, відображаючи смугу завантаження для кожного з'єднання (спеціально для dkws.org.ua).

Інтерфейс програми розбитий на колонки: у першій колонці вказана адреса сервера, у другій - віддалений клієнт, напрямок потоків позначені стрілками (<= і =>), наступні три колонки вказують у інтервалі 2, 10, 40 секунд середню швидкість. У верхній частині загальна шкала мережної активності, внизу різні загальні дані.

Є можливість сортування за висновками в інтервалах 2, 10, 40 секунд, для цього натискаємо цифри 1,2,3 або стрілки (< = або =>), зробити паузу, натиснувши (shift+p) виконати інші налаштування (про них ви можете прочитати в самій програмі натиснувши клавішу (h)).

Расдивимося деякі основні опції:

  • -n - Не перетворювати IP адреси на імена хостів;
  • -N - Не перетворювати номери портів на імена сервісів;
  • -P - Відобразити порти;
  • -B - Відображати швидкість bytes/sec а не bits/sec< /b>;
  • -i interface - Дозволяє вказати ім'я інтерфейсу для прослуховування;
  • -F net/mask - Дозволяє встановити діапазон адрес для сканування, наприклад "iftop -F 192.168.0.1/24";< /li>
  • -c config file — Дозволяє вказати свій конфігураційний файл;

Приклад:

    $sudo iftop -nNP -i eth0
iftop.png

Установка:

    fedora або centos
    $sudo yum install iftop -y

    ubuntu або debian
    $sudo apt-get install iftop

    archlinux
    $sudo pacman -S iftop
    $sudo yaourt -S aur/iftop-devel

Iptraf

Iptraf призначено для моніторингу мережевої активності в режимі реального часу та ведення статистики мережевих інтерфейсів. Показує окремі мережеві з'єднання та кількість даних, що передаються між ними. Для роботи програми потрібні права root, є підтримка логування.

Працювати з програмою можна як в інтерактивному режимі, часто так воно і є, так і в режимі запуску з певними параметрами. Меню програми логічне та інтуїтивно зрозуміле, особливу увагу приділяти інтерфейсу не будемо.

Розглянемо основні опції:

  • -i - Дозволяє вказати інтерфейс для моніторингу, або вказати опцію "all" для моніторингу всіх адаптерів "iptraf -i all";
  • -g - Моніторинг загальної статистики інтерфейсів;
  • -d - Детальний моніторинг певного інтерфейсу;
  • -s - Детальний моніторинг активності за протоколами TCP/UDP, на певному інтерфейсі;
  • -z — Дозволяє проводити збір статистики кількості пакетів за їх розміром на вказаному інтерфейсі;
  • -l — Дозволяє провести моніторинг локальної мережі LAN певного інтерфейсу або всіх їх "iptraf -i all";
  • -t — Дозволяє задати час роботи програми за хвилини. Не працює в інтерактивному режимі;
  • -B — Надсилає весь висновок у /dev/null і виконання відбувається у фоні, корисно для скриптів. Працює разом із ключами -i, -g, -d, -s, -z, або -l;
  • -L — Дозволяє вказати альтернативний файл журналу, необхідно вказувати абсолютний шлях. ;
Кожне логування починається з рядка "******** IP traffic monitor started ********" і закінчується " ******** IP traffic monitor stopped ********". Самі логи логічні та читальні.
Приклад:
    $sudo iptraf-ng -i all -t1 -L /home/igor/iptraf.log
iptraf.png
Програма здійснить логування (спеціально для dkws.org.ua) на всіх інтерфейсах та запише результат у файл /home/igor/iptraf.log. Аналіз буде проводитись хвилину, після чого буде проведено вихід із програми.

Установка:
    centos (base repo)
    $sudo yum install iptraf

    fedora або centos (з epel)
    $sudo yum install iptraf-ng -y

    ubuntu або debian
    $sudo apt-get install iptraf iptraf-ng

    archlinux
    $sudo pacman -S iptraf-ng
    $sudo yaourt -S aur/iptraf
    $sudo yaourt -S aur/iptraf-ipv6

Nethogs

Nethogs є одним із найкращих інструментів дослідження мережної активності кожного процесу на вашому комп'ютері, водночас він є ще й дуже простим інструментом. Для запуску програми потрібні права суперкористувача.

У вікні програми відображаються активні мережеві (спеціально для dkws.org.ua) процеси, зазначений їх PID, користувач під яким запущений процес, програма, що виробляє мережну активність, інтерфейс, обсяг даних (прийняті та відправлені). З керування в інтерактивному режимі можливе змінювати режим відображення даних (kb/s, kb, b, mb) клавішею "m", відсортувати за даними отримання "r" та відправлення "s", "q" вихід.

Розглянемо основні опції:

  • -d — Частота оновлення інформації на дисплеї (вказується секундах);
  • device(s) — Дозволяє задати програмі інтерфейси для моніторингу, особливість у тому, що вибрати можна лише необхідні;

Приклад:

    $sudo nethogs cscotun0 wlp5s2
nethogs.png

Установка:
    fedora or centos (from epel)
    $ sudo yum install nethogs -y

    ubuntu or debian (default repos)
    $ sudo apt-get install nethogs

    archlinux
    $sudo pacman -S nethogs

Bmon

Bmon (Bandwidth Monitor) дуже схожий на nload, показує транспортне навантаження над усіма мережевими інтерфейсами системи в режимі реального часу. Крім того, вихід складається з графіка та секції з деталізацією рівня пакетів. В інтерактивному режимі можливий вибір інтерфейсу для моніторингу клавішами (вгору/вниз), q – вихід із програми. Підтримує різні методи введення, виведення та фільтри, відображає поточну завантаженість мережного інтерфейсу у вигляді псевдографічного графіка (активується та забирається клавішею "g") і сумарне завантаження мережного інтерфейсу у вигляді таблиці (активується та забирається клавішею "d").

Опції:

  • -i, --input, (-o, --ouptut) — Дозволяє встановити вхідні (вихідні) модулі. Доступні вхідні моулі: netlink, proc, dummy, null, вихідні: curses, ascii, format, null, детальну інформацію щодо кожного модуля можна дізнатися командою bmon -i (-o) netlink:help. За замовчуванням застосовуються модулі netlink та curses, тобто bmon = bmon -i netlink -o curses;
  • -f — Дозволяє встановити альтернативний файл конфігурації;
  • -p — Дозволяє задати інтерфейси для моніторингу, список інтерфейсів вказуємо через кому;
  • -r — Інтервал виведення на дисплей за промовчанням 1 секунда;
  • -R — Інтервал підрахунку статистики, за умовчанням також дорівнює 1 секунді;
Приклад:
    $bmon -p wlp5s2,cscotun0
bmon.png

Установка:
    fedora or centos (from repoforge)
    $ sudo yum install bmon

    ubuntu or debian
    $ sudo apt-get install bmon

    archlinux
    $sudo yaourt -S bmon

Slurm

Slurm дрібна утиліта для моніторингу мережного інтерфейсу в режимі реального часу будує ASCII графіки. Підтримує 3 різні стилі відображення, кожен з яких може бути активований за допомогою s, s і l ключа. З багів помітив, що параметр Interface Speed: завжди unknown.

Опції:
  • -z — Під час запуску скинути щітчики в 0;
  • -d — Частота оновлення інформації;
  • -c, -s, -l — Задає різні режими графіків;
  • -L — Включає різні кольори на rx/tx трафік;
  • -i — Дозволяє встановити інтерфейс для прослуховування;
  • -t — Дозволяє встановити тему, доступні (black, blue, cyan, foo);

Приклад:

    $slurm -i wlp5s2 -z -t foo
slurm.png

Установка:
    debian or ubuntu
    $ sudo apt-get install slurm

    fedora or centos
    $ sudo yum install slurm -y

    archlinux
    $sudo yaourt -S slurm

Tcptrack

TCPTrack проста програма на основі Libpcap для підрахунку смуги пропускання мережного з'єднання. Підтримує стандартні PCAP фільтри, які можна використовувати для моніторингу конкретного мережного з'єднання. В інтерактивному режимі (спеціально для dkws.org.ua) можна поставити моніторинг на паузу, корисно за великого завантаження мережі "p", сортувати "s" і вийти з програми < b>"q".

Опції:

  • -d — Відстеження з'єднань з моменту запуску tcptrack. Існуючі сполуки ігноруються;
  • -f — Включає середній повторний перерахунок даних, 10 разів на секунду. У цьому випадку TCPTrack використовує більше системних ресурсів, але результат буде більш наближеним до реальних показників;
  • -i [interface] — Вказує інтерфейс для прослуховування;
  • -T [pcap file] — Читати пакети з файлу, а не мережного інтерфейсу. Стане в нагоді хіба що для випробувань;
  • -p — Прослуховувати трафік у нерозбірливому режимі (моніториться весь трафік, який потрапляє на інтерфейс) без вказівки інтерфейсу;
  • -r [seconds] — Чекати на вказану кількість секунд, попісля яких прибирати з дисплея закрите мережеве з'єднання. За промовчанням 2 секунди;

Приклад:

    sudo tcptrack -f -i eth0 -r 5 -d


Установка:
    debian or ubuntu
    $ sudo apt-get install tcptrack

    fedora or centos (з repoforge repository)
    $ sudo yum install tcptrack -y

    archlinux
    $sudo yaourt -S tcptrack

Vnstat

Vnstat відрізняється від усіх раніше розглянутих утиліт. Працює у фоновому режимі як демон, і веде запис об'єму даних мережі. Vnstat більше нагадує інструмент для отримання історичних звітів про те, як багато трафіку використовується щодня або протягом останнього місяця. Опцій у програмі багато, тому ми розглянемо лише основні, детальніше можете переглянути в man vnstat

Опції:

  • -h, --hours — Показати статистику трафіку погодинно протягом останніх 24 годин;
  • -d, --days — Показати статистику трафіку протягом останніх 30 днів;
  • -m, --months — Показати статистику трафіку протягом останніх 12 місяців;
  • -w, --weeks — Показати статистику трафіку за останні 7 днів, що минув тиждень, поточний тиждень;
  • -t, --top10 — Показати 10 найбільш завантажених днів;
  • -i, --iface interface — Вказати інтерфейс;
  • --iflist — Показати список доступних на даний момент інтерфейсів;
  • -l, --live — Відображення поточної швидкості передачі для вибраного інтерфейсу в режимі реального часу, доки дія не буде перервана користувачем. Після переривання виводиться статистика;
  • --locale locale — Явно вказати локаль для відображення. Якщо чесно, то локалізація працює м'яко кажучи погано, тому що локалізується лише мала частина висновку, загалом опція марна;
  • -s, --short — Використовуйте короткий режим. Цей режим також використовується, якщо доступно більше однієї бази даних;
  • -ru, --rateunit — Дозволяє відборозити висновок у байтах (0) або бітах (1). За промовчанням інформація відображається в бітах;
  • -tr time — Дозволяє підрахувати обсяг трафіку, що проходить за певний проміжок часу. За промовчанням 5 секунд;
  • --style — Дозволяє змінити стиль виведення інформації. Доступні значення від 0 до 4;
  • --xml — Дозволяє перевести висновок у формат xml;
  • --longhelp — Вивести коротку довідку щодо опцій;

Приклад:

    $vnstat
vnstat

    vnstat -h -i eth0
vnstat -h -i eth0

Установка:
    debian or ubuntu
    $ sudo apt-get install vnstat

    fedora or centos (from epel)
    $ sudo yum install vnstat-y

    archlinux
    $sudo pacman -S vnstat

Bwm-ng

Bwm-ng є простим інструментом моніторингу в режимі реального часу. Найзручніше їм користуються в інтерактивному режимі, ключі запуску ви можете подивитися в man bwm-ng. (спеціально для dkws.org.ua)

Опції в інтерактивному режимі:

  • h — Виклик довідки;
  • q — Вийти з програми;
  • + — Збільшити проміжок між зняттям даних на 100ms;
  • - — Зменшити проміжок між зняттям даних на 100ms;
  • d — Переключити режим виведення інформації про трафік між Byte/KB/MB/GB;
  • a — Увімкнути/вимкнути відображення неактивних мережних інтерфейсів;
  • n — Змінити спосіб зняття вхідних даних. Відбувається переключення між моніторингом мережної та дискової активності, дивись у прикладі;
  • u — Змінити одиниця відображення статистики, доступні: bytes,bits,packets,errors;
  • t — Змінити цикл зняття даних, доступні такі значення: поточний, максимум, сума, починаючи з початку, середня величина для останніх 30-х;

Приклад:

    $bwm-ng



Установка:
    debian or ubuntu
    $ sudo apt-get install bwm-ng

    fedora or centos (from epel)
    $ sudo yum install bwm-ng

    archlinux
    $sudo pacman -S bwm-ng

cbm

Крихітна утиліта, що відображає об'єм трафіку, що проходить через мережеві інтерфейси. Так як програма дуже схожа на bwm-ng і пакети доступні тільки для ubuntu використовувати її навряд чи є сенс.

Приклад:

    $cbm


Установка:
    debian or ubuntu
    $ sudo apt-get install

speedometer

Ще один невеликий і простий інструмент, який просто добре будує графіки вхідного та вихідного трафіку через вказаний інтерфейс.

Опції:
  • -f filename [size] — Відображає швидкість читання/запису файлу;
  • -r network-interface — Відображає швидкість отриманих байт інтерфейсу;
  • -t network-interface — Відображає швидкість переданих байт інтерфейсу;
  • -i interval-in-seconds — Інтервал у секундах, наприклад "5" або "0,25", за промовчанням "1";
  • -k — встановити кількість кольорів терміналу, доступні значення: (1|16|88|256);
  • -l — Використовувати лінійні графіки;
  • -m/-n — Встановити максимальний(m)/мінімальний(n) потік відображення bytes/second;
  • -s — Використовувати bits/s замість bytes/s;
Приклад:
    speedometer -r wlp5s2 -t wlp5s2 -f ./file -k 256


Установка:
    debian or ubuntu
    $ sudo apt-get install speedometer

    archlinux
    $sudo yaourt -S speedometer

Pktstat

Pktstat відображає всі активні з'єднання в реальному часі та швидкість, з якою дані передаються через них. Він також відбиває тип з'єднання, тобто. TCP або UDP, інформація про HTTP-запити.

Опції:

  • -B — Швидкість передачі даних (Bps) а не (bits);
  • -F — Показати повне ім'я хоста;
  • -i — Вказати інтерфейс, на якому слухати трафік;
  • -n — Вимкнення перетворення хоста на ім'я, тобто відключення DNS resolver;
  • -p — Як одиниця вимірювання показує кількість пакетів;
  • -t — Режим "Топ" Робить сортування за об'ємом трафіку;
  • -w — Частота оновлення екрана за промовчанням 5 секунд;
  • -1 — Робить снапшот мережевих з'єднань протягом часу вказаного ключем "-w" або за замовчуванням відповідно 5 секунд;

Приклад:

    $ sudo pktstat -i wlp5s2 -nt


Установка:
    debian or ubuntu
    $ sudo apt-get install pktstat

    archlinux
    $sudo yaourt -S pktstat

Netwatch

Netwatch створений для моніторингу мережевих підключень, заснований на програмі під назвою "statnet", але був суттєво модифікований з Ethernet акцентом. Це динамічна програма, яка відображає стан Ethernet на основі кожного типу з'єднання. Має можливість моніторингу сотень статистик сайту одночасно. Також доступний моніторинг кількості з'єднань на (спеціально для dkws.org.ua) порту (неослужби) та адресу призначення. Зовнішні мережеві зв'язки підраховуються та відображається швидкість передачі.

Опції:

  • -e — Вказує ім'я інтерфейсу для прослуховування;
  • -c — Вказує шлях до конфігураційного файлу;
  • -n — Не дозволити ІП адреси;
  • -t — Запуск Netwatch у ТОП режимі (30 сек. затримка запуску);

Навігація в інтерактивному режимі:

  • tab — Дозволяє перемикатися між двома екранами;
  • left/right — Зміна параметрів відображення (переміщення вліво/вправо опціями);
  • up/down — Перехід до попередньої/наступної сторінки перебування на поточному списку;
  • h — Виклик довідки;
  • t — Перехід у ТОП режим (30 сек. затримка запуску);
  • з — Очищення всіх сітників усіх хостів;
  • n — Очистити таблиці віддалених та локальних хостів;
  • N — Очистіть таблиці віддалених або локальних хостів;
  • d — Переключення в режим відображення записів домену (Name Server Запити);
  • w — Увійти в режим перегляду статистики маршрутизації та пакетів хоста;
  • q — Вихід із програми;
  • Приклад:

      sudo netwatch -e wlp5s2 -n


    Установка:
      debian or ubuntu
      $ sudo apt-get install netdiag

      archlinux
      $sudo pacman -S netwatch

    Trafshow

    Як NetWatch і pktstat, trafshow моніторить поточні активні з'єднання, їх протокол та швидкість передачі даних. Це все можна відфільтрувати за допомогою PCAP фільтрів.

    Опції:

    • -p — Забороняє переводити мережні карти в нерозбірливий режим;
    • -n — Забороняє переводити чисельні значення адрес та портів у читабельний вигляд (приклад: 80 - http, 93.158.134.3 - ya.ru). В інтерактивному режимі перемикання здійснюється клавішею "N";
    • -a len — Дозволяє виводити агрегований трафік та порти, використовуючи префікс мережної маски len;
    • -з conf — Задає відмінну від початкової колірної схеми, розташованої за адресою /etc/trafshow;
    • -i name — Задає мережевий інтерфейс, що прослуховується, якщо не задано - слухає всі активні інтерфейси;
    • -s str — Шукає шуканий рядок str у даних, при збігу підсвічує його курсором;
    • -u port — Слухає заданий UDP порт для зняття статистики Cisco Netflow, за промовчанням дорівнює 9995. Для відключення слід задати номер порту 0;
    • -R refresh — Задає інтервал оновлення, за промовчанням дорівнює 2 секундам. Для зміни безпосередньо у вікні програми використовується клавіша "R";
    • -P purge — Задає часовий інтервал для очищення застарілих записів, за замовчуванням дорівнює 10, у програмі змінюється кнопкою "P";
    • -F file — Задає файл для фільтрів;
    • expr — Вказує, які пакети відображатимуться. Якщо не поставлено – буде показано все. Синтаксис докладно описаний у tcpdump(1);

    Приклад:

      sudo trafshow -i eth0


    Установка:
      debian or ubuntu
      $ sudo apt-get install trafshow

      fedora or centos (from epel)
      $ sudo yum install trafshow

      archlinux
      $sudo yaourt -S trafshow

    Netload

    Команда NETLOAD просто виводить невеликий звіт про поточне навантаження трафіку, а також загальну кількість байт, переданих з моменту запуску програми.

    Опції:

    • -t — інтервал оновлення. За промовчанням 1 секунда;

    Приклад:

      sudo netload eth0


    Установка:
      debian or ubuntu
      $ sudo apt-get install netdiag

    ifstat

    Маленька утиліта, яка відображає завантаженість мережного інтерфейсу.

    Опції:

    • -l — Включити моніторин на інтерфейсі lo;
    • -a — Включити моніторинг на всіх мережних інтерфейсах;
    • -z — Приховує інтерфейс, у якого лічильники нульові, наприклад, інтерфейс працює, але не використовується;
    • -i — Задає список інтерфейсів для моніторингу, розділених комами;
    • -s — Еквівалент -d SNMP, дозволяє опитувати віддалений хост через SNMP;
    • -t — Додає позначку часу на початку кожного рядка;
    • -T — Додає колонку із загальною пропускною здатністю для всіх інтерфейсів, що відстежуються;
    • -w — Використовує стовпці фіксованої ширини;
    • -S — Усі дані відображаються в одному рядку;
    • -b — Відображення звіту в kbits/sec, а не в kbytes/sec;
    • -q — Тихий режим попередження не друкується;
    • -d — Дозволяє вказати драйвер для моніторингу;

    Приклад:

      ifstat -latTwq


    Установка:
      debian or ubuntu
      $ sudo apt-get install ifstat

      fedora or centos (Repoforge)
      $ sudo yum install ifstat

    dstat

    Dstat є відмінним інструментом для моніторингу стану системи, аналізу продуктивності та діагностики збоїв. З допомогою плагінів дозволяє підключати різноманітні модулі для моніторингу різних служб (mysql, nfs, postfix і т.д.). У цій статті ми розглянемо лише моніторинг мережі

    Опції:
    • -n, --net — Увімкнути моніторинг мережі;
    • -t, --time — Додає позначку часу в кінці кожного рядка;

    Приклад:

      dstat -nt


    Установка:
      debian or ubuntu
      $ sudo apt-get install dstat

      fedora or centos
      $ sudo yum install dstat

      archlinux
      $sudo pacman -S dstat

    jnettop

    Jnettop призначений для моніторингу вузлів/портів, які займають найбільше трафіку.

    Опції:

    • -b, --bit-units — Показати BPS у бітах за секунду, а не байтах за секунду;
    • -c, --content-filter — Вимкнути фільтрацію вмісту;
    • -d, --debug filename — Написати налагоджувальну інформацію у файл (або Syslog);
    • --display type — Тип дисплея (curses, text, uia);
    • -f, --config-file name — Вказати файл конфігурації. За замовчуванням ~/.jnettop;
    • -i, --interface name — Вказати інтерфейс для захоплення;
    • -n, --no-resolver — Вимкнути перетворення ІП адрес в ім'я (відкручування резолвінгу);
    • -p, --promiscuous — Увімкнути режим PROMISC на пристрої. (так званий «нерозбірливий» режим, у якому мережева плата дозволяє приймати всі пакети незалежно від того, кому вони адресовані. Ця можливість зазвичай використовується у мережевих аналізаторах трафіку.);
    • --local-aggr/--remote-aggr arg — Встановлення локальної/віддаленої агрегації каналу none/host/port (У комп'ютерних мережах агрегування каналів (англ. Link aggregation) — технології об'єднання декількох паралельних каналів передачі даних в один логічний.);
    • -s, --select-rule rule — Вибирає одне з правил, визначених у конфігурації на його ім'я;
    • -x, --filter rule — Дозволяє застосовувати фільтри tcpdump(1), також при обов'язково фільтр необхідно укласти в лапки;
    • --format format — Дозволяє вказати список полів для виведення;

    Приклад:

      sudo jnettop -i wlp5s2 -x "dst host 192.168.0.108"



    Установка:
      debian or ubuntu
      $ sudo apt-get install jnettop

      fedora or centos (from epel)
      $ sudo yum install jnettop

      archlinux
      $sudo yaourt -S jnettop

    iperf

    Iperf є інструментом виконання вимірювань пропускної спроможності мережі. Він може випробувати TCP/UDP пропускну здатність. Щоб виконати тест Iperf, користувач повинен запустити сервер і клієнт.

    Опції глобальні:

    • -f, --format — Формат виводу: Kbits, Mbits, KBytes, MBytes;
    • -i, --interval n — Інтервал у секундах між періодами вимірювання ширини смуги пропускної спроможності каналу;
    • -l, --len n — Довжина читання/запису буфера (За замовчуванням 8 KB);
    • -m, --print_mss — Друк максимальний TCP розмір сегмента (MTU - заголовок TCP/IP);
    • -o, --output filename — Виводити звіт або повідомлення про помилку у файл;
    • -p, --port n — Встановити порт для прослуховування/з'єднання (за замовчуванням 5001);
    • -u, --udp — використовувати UDP, а не TCP (за промовчанням TCP);
    • -w, --window n — Розмір вікна TCP (розмір буфера сокету);
    • -B, --bind host — Зв'язатися з хостом, інтерфейсом або груповою адресою;
    • -M, --mss — Встановити максимальний TCP розмір сегмента (MTU - 40 байт);
    • -N, --nodelay — не встановлювати затримки в TCP, відключення алгоритму Nagle's;
    • -x, --reportexclude — Виключати C(connection) D(data) M(multicast) S(settings) V(server) поля;
    • -y — Використовувати CSV формат (значення, розділені комами);

    • Опції для сервера:
    • -s, --server — Запустити в режимі сервера;
    • -U, --single_udp — Запуск в одному багатопоточному режимі UDP;
    • -D, --daemon — Запустити програму як демон;

    • Опції для Клієнта:
    • -b, --bandwidth n — Встановлення цільової пропускної спроможності bits/sec (за умовчанням 1 Мбіт/сек). Цей параметр потрібний для UDP;
    • -c, --client — Працювати в режимі клієнта, підключення до хост;
    • -d, --dualtest — Виконати двонаправлений тест з'єднання одночасно (download/upload);
    • -n, --num n — кількість байт для тестування (замість -t);
    • -r, --tradeoff — Виконати двонаправлений тест з'єднання по черзі (download/upload);
    • -t, --time n — Час тесту секунд (за замовчуванням 10 секунд);
    • -F, --fileinput — Вхідні дані передаються з файлу;
    • -I, --stdin — Вхідні дані мають бути передані зі стандартного введення;
    • -P, --parallel n — Кількість паралельних потоків клієнта;
    • — ;

    Приклад:

      на сервері: iperf -s -p22000
      на клієнті: iperf -p22000 -c 192.168.0.108 -P5 -t60



    Установка:
      debian or ubuntu
      $ sudo apt-get install iperf

      fedora or centos
      $ sudo yum install iperf

      archlinux
      $sudo yaourt -S iperf

    Мережеві інтерфейси в Linux

    • lo — Інтерфейс петлі зворотного зв'язку;
    • eth — Мережевий інтерфейс до карти Ethernet або карт WaveLan (Radio Ethernet);
    • wlan - Мережевий інтерфейс до картки Wireless;
    • tr — Мережевий інтерфейс до картки Token Ring;
    • ppp — Інтерфейс мережі до каналу PPP (Point-to-Point Protocol);
    • sl — Інтерфейс мережі до каналу SLIP (Serial Line IP);
    • plip — Інтерфейс мережі до каналу PLIP (Parallel Line IP). Використовується для організації мережевої взаємодії з використанням паралельного порту;
    • ax — Мережевий інтерфейс для пристроїв аматорського радіо AX.25;
    • fddi — Мережевий інтерфейс до картки FDDI;
    • arc0e, arc0s — Мережний інтерфейс до карти ArcNet. Використовується інкапсуляція пакетів у форматі Ethernet або RFC 1051;
    • cscotun - Мережевий інтерфейс Cisco Anyconnect VPN;
    • enp2s0 - Мережевий інтерфейс до картки Ethernet (systemd);
    • wlp5s2 - Мережевий інтерфейс до картки Wireless (systemd);