Close

Куди тікає трафік? Як контролювати споживання інтернету в Linux

У користувачів інтернету, зокрема мобільного, який тарифікується і лімітується, часто виникає питання – куди тікає трафік, де зникають дорогоцінні мегабайти. Щоб у цьому розібратися – потрібен моніторинг. У даному матеріалі пропоную ознайомитись з утилітами Linux, які дозволять якісно контролювати усі ваші мережеві з’єднання та вести статистику й облік споживання інтернет-трафіку.

Зміст статті

Iftop

Ця елементарна утиліта командного рядка Linux проконтролює усі ваші вхідні та вихідні інтернет-з’єднання, відображаючи інформативну статистику:

Iftop

Таким чином, ви можете визначити список хостів, які підключаються в режимі реального часу по вашому інтернет-трафіку до вашого пристрою або навпаки.

Базові команди:

  • sudo apt install iftop — встановити утиліту;
  • iftop — загальна статистика в режимі реального часу;
  • iftop -i <interface>— переглянути статистику в режимі реального часу по вказаному інтерфейсу;
  • iftop -i <interface> -P — переглянути статистику по вказаному інтерфейсу із вказаними мережевими портами;
  • iftop -i <interface> -O <destination/source> — фільтрація інтернет-з’єднань за вказаним напрямком чи джерелом;
  • iftop -h — довідкова інформація по використанню команд.

Nload

Nload – утиліта командного рядка Linux для аналізу завантаженості інтернет-каналу (вхідний/вихідний трафік) по мережевим інтерфейсам в системі. 

Nload

Базові команди і гарячі клавіши:

  • nload – запуск збору і відображення статистики по всім мережевим інтерфейсам;
  • nload eth0 – запуск збору і відображення статистики по зазначеному мережевому інтерфейсу;
  • F2 – параметри;
  • Page Up/Down – перейти до наступного меревого інтерфейсу (вгору/вниз);
  • q – вийти з програми.

Speedometr

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

Базові команди:

  • apt-get install speedometer – встановлення;
  • sudo speedometer -r wlan0 -t wlan0 – зробіти заміри вхідного/вихідного інтернет-з’єднання на конкретному мережевому інтерфейсі.

Bmon

Ще одна невелика, але зручна утиліта Linux для збору та відображення статистики, пов’язаної з мережею. Bmon має різні режими виведення інформації, включаючи інтерактивний псевдографічний інтерфейс. Утиліта показує детальну інтернет-статистику по кожному мережевому інтерфейсу. Уміє виводити інформацію в різних форматах: ascii, двійковий.

Bmon

Базові команди та гарячі клавіші керування:

  • sudo apt install bmon — встановлення;
  • bmon — запуск інтерфейсу утиліти;
  • bmon -p '<interface>' — відобразити статистику лише по заданому інтерфейсу;
  • l — ця клавіша дозволяє відобразити/сховати список мережевих інструментів;
  • ↑↓ — перехід по інтерфейсам;
  • TAB — переключення вкладок/датчиків;
  • d — клавіша показує детальну статистику;
  • i — клавіша показує додаткову статистику;

Недоліком є те, що Bmon не відображає список активних з’єднань в реальному часі  -  лише збір статистики.

Iptraf-ng

Більш складна утиліта. Керування відбувається у псевдографічному інтерфейсі.

Програма розділена на такі функціональні частини:

  1. Монітор трафіка за IP
  2. Загальна статистика по мережевим інтерфейсам
  3. Детальна статистика по мережевим інтерфейсам
  4. Статистика по інтернет-пакетам для виявлення помилок та обслуговування
  5. Монітор локальної мережі (LAN)
  6. Використання фільтрів
  7. Конфігурація і налаштування
  8. Про утиліту
  9. Вихід

Підказки, які з’являються у нижньому рядку статуса підкажуть та допоможуть розібратися:

Iptraf-ng пропонує користувачу вивід інформації у зручному та доступному для нього форматі. Таким чином легко контролювати потоки трафіку та визначати ті чи інші аномалії/потоки/джерела.

Vnstat

Корисна утиліта, яка підраховує і візуалізує кількість споживаного інтернет-трафіку за кожним мережевим інтерфейсом. Виводить детальну статистику на екран по годинам, дням, місяцям, а також прогнозований трафік:

Перш ніж починати, треба встановити утиліту та запустити спеціальну службу vnstat.

Команди налаштування:

  • sudo apt install vnstat — встановлення;
  • sudo systemctl start vnstat — запуск системної служби;
  • sudo vnstat -u — зареєструвати і внести у базу даних на запис усі мережеві інтерфейси;
  • vnstat --add -i <interface> — додати у базу даних окремий мережевий інтерфейс, щоби статистика зберігалася і підраховувалася по ньому після перезавантаження пристрою;
  • vnstat --delete -i <interface> — видалення з бази даних утиліти заданого мережевого інтерфейсу;
  • ps -f | grep vnst — перевірка чи працює vnstat у фоновому режимі;
  • sudo apt-get install vnstati — встановлення додаткової утиліти vnstat image для генерації зображень зі статистикою vnstat.

Команди використання:

  • vnstat — запуск утиліти і показ загальної статистики по всім мережевим інтерфецсам;
  • vnstat <interface> — показ статистики спожитих об’ємів інтернет-трафіка по дням і місяцям для конкретного інтерфейсу;
  • vnstat -h -i <interface>— історія спожитого трафіку погодинно для вказаного мережевого інтерфейсу;
  • vnstat -hg -i <interface> — вивести графік погодинного споживання інтернет-трафіку;
  • vnstat -d -i <interface> — статистика подобово;
  • vnstat -m -i <interface> — статистика помісячно;
  • vnstat -l -i <interface> — статистика споживання інтернет-трафіка у реальному часі (real-time based);
  • vnstat -vs -i <interface> ~/statsimage.png — генерація зображення із статистикою vnstat у бажаному форматі (png/jpg/webp).

Vnstat

З Vnstat можна повністю виміряти свою активність в інтернеті, контролювати витрати мегабайтів та дати оцінку споживанню трафіка.

Nethogs

Корисна утиліта. Дозволяє відстежувати трафік по системним процесам.

Встановлюється:

sudo apt-get install nethogs

Запускається:

nethogs

TCPDUMP

Класичний сніффер командного рядка для відстеження та аналізу інтернет-пакетів по протоколу TCP/IP.

Базові команди:

tcpdump -D — вивести список усіх доступних до захвату мережевих інтерфейсів;

tcpdump -i <interface> port <port> — відстеження інтернет-пакетів по заданному мережевому інтерфейсу та порту;

tcpdump -XX -i <interface>— відображення вмісту пакетів даних в HEX і ASCII, які передаються по заданному інтерфейсу;

tcpdump -n -i <interface> — відображати тільки IP-адреси замість доменів;

tcpdump -w file.pcap -i <interface> — зберегти зібрані пакети даних по мережевому інтерфейсу в файл;

tcpdump -c <number> -i <interface>— захопити задану кількість інтернет-пакетів по заданному інтерфейсу.

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

Darkstat

І ще одна утиліта на завершення. Це просунутий мережевий аналізатор трафіка з графічним веб-інтерфейсом, який працює як окремий HTTP-сервер.

Встановлюється командою:

sudo apt-get install darkstat

Далі потрібно внести налаштування у файл конфігурації:

nano /etc/darkstat/init.cfg

START_DARKSTAT=yes
INTERFACE=”-i <interface>
"PORT="-p 8080
DIR=”/var/lib/darkstat”
vDAYLOG="--daylog <logfile>”

Тепер запускаємо службу darkstat:

sudo systemctl start darkstat

ps -f | grep darkstat — перевіряємо чи працює служба.

Відкриваємо графічний веб-інтерфейс Darkstat:

http://localhost:8080

Керувати аналізатором можна з командного рядка:

darkstat -i <interface> — відстежувати трафік заданного мережевого інтерфейсу;

darkstat -i <interface> -f port <port> — відстежувати трафік для заданного мережевого інтерфейсу по конкретному порту.

Speedtest-CLI

Speedtest CLI – це утиліта командого рядка від розробників популярного сервісу Speedtest.net by Ookla. 

За допомогою Speedtest CLI ви можете легко:

  • Вимірювати показники продуктивності підключення до Інтернету, як-от завантаження, затримка, втрата пакетів безпосередньо з командного рядка, не покладаючись на веб-браузер;
  • Перевірити підключення до Інтернету на робочому столі Linux, віддаленому сервері або навіть на таких пристроях як Raspberry Pi;
  • Налаштувати автоматичні сценарії для збору даних про ефективність з’єднання;
  • Переглядати результати тесту в форматах: CSV, JSONL, JSON

Базові команди:

  • pip install speedtest-cli – встановлення;
  • speedtest-cli – запуск заміру швидкості та якості інтернету;
  • speedtest-cli --share – отримати посилання, щоб поділитися результатами;
  • speedtest-cli --simple – отримати результати в мінімальному вигляді;
  • speedtest-cli --list – список доступних серверів для перевірки;
  • speedtest-cli --server 5907 – запустити перевірку інтернет-з’єднання вказавши ID сервера.

SNIFFNET

Sniffnet – це безкоштовний (MIT License) кросплатформний монітор інтернет-трафіка з графічним інтерфейсом, написаний на мові Rust, розроблений італійцем Джуліано Белліні.

Інструмент універсальний та надзвичайно легкий у роботі й швидко стане до вподоби. Однаково буде корисним і для тих, хто хоче контролювати свої інтернет-з’єднання, і для тих, хто моніторить споживання, і хто заміряє завантаженість та швидкість каналу.

Sniffnet

Sniffnet має україномовну локалізацію і дозволяє:

  • обирати набори фільтрів для застосування до спостережуваного трафіку;
  • переглядати загальну статистику інтернет-трафіку;
  • переглядати в реальному часі графіки інтенсивності трафіку;
  • отримувати подробиці про доменні імена та мережевих провайдерів хостів, з якими ви обмінюєтеся трафіком;
  • визначати підключення у вашій локальній мережі;
  • перевіряти кожне мережеве підключення в реальному часі;
  • дізнаватися географічне розташування віддалених хостів;
  • зберігати обрані мережеві хости;
  • встановити власні сповіщення, щоб інформувати про певні події в мережі;
  • зберегти повний текстовий звіт з детальною інформацією для кожного мережевого підключення:
  • обирати стилі оформлення із 4 різних доступних тем;
  • … та багато іншого.

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

0 0 голосів
Рейтинг статті
Підписатися
Сповістити про
guest
0 Коментарі
Вбудовані Відгуки
Переглянути всі коментарі
0
Цікаво почути Вашу думку!x
Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію

Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!

Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!