У користувачів інтернету, зокрема мобільного інтернету, який тарифікується і лімітується, часто виникає питання – куди тікає трафік, де зникають дорогоцінні мегабайт? Щоби у цьому розібратися – потрібен комплексний моніторинг. У даному матеріалі пропоную ознайомитись з утилітами Linux, які дозволять якісно контролювати мережеві з’єднання та вести статистику й облік споживання інтернет-трафіку.
Iftop
Iftop – це проста утиліта командного рядка Linux, яка проконтролює усі ввхідні та вихідні інтернет-з’єднання, відображаючи інформативну статистику. Таким чином, можна визначити список хостів, які підключаються в режимі реального часу по вашому інтернет-каналу по вхідним або вихідним з’єднанням.
Базові команди:
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 eth0– запуск збору і відображення статистики по зазначеному мережевому інтерфейсу;F2– параметри;Page Up/Down– перейти до наступного меревого інтерфейсу (вгору/вниз);q– вийти з програми.
Speedometr
Speedometr – невеличка утиліта для вимірювання пропускної здатності інтернет-каналу в Linux. Має псевдографічний інтерфейс на якому відображається екран мережевої активності з логарифмічною шкалою.
Базові команди:
apt-get install speedometer– встановлення;sudo speedometer -r wlan0 -t wlan0– зробити заміри вхідного/вихідного інтернет-з’єднання на конкретному мережевому інтерфейсі.
Bmon
Bmon – невелика, але зручна утиліта Linux для збору та відображення статистики, пов’язаної з мережею. Bmon має різні режими виведення інформації, включаючи інтерактивний псевдографічний інтерфейс. Утиліта показує детальну інтернет-статистику по кожному мережевому інтерфейсу. Уміє виводити інформацію в різних форматах: ascii, двійковий.
Базові команди та гарячі клавіші керування:
sudo apt install bmon— встановлення;bmon— запуск інтерфейсу утиліти;bmon -p '<interface>'— відобразити статистику лише по заданому інтерфейсу;l— ця клавіша дозволяє відобразити/сховати список мережевих інструментів;- ↑↓ — перехід по інтерфейсам;
TAB— переключення вкладок/датчиків;d— клавіша показує детальну статистику;i— клавіша показує додаткову статистику;
Недоліком є те, що Bmon не відображає список активних з’єднань у реальному часі , а лише збір статистики.
Iptraf-ng
Iptraf-ng – багатофункціональна утиліта для контролю трафіку з псевдографічним інтерфейсом.
Додаток розділений на такі функціональні частини:
- Монітор трафіка за IP
- Загальна статистика по мережевим інтерфейсам
- Детальна статистика по мережевим інтерфейсам
- Статистика по інтернет-пакетам для виявлення помилок та обслуговування
- Монітор локальної мережі (LAN)
- Використання фільтрів
- Конфігурація і налаштування
- Про утиліту
- Вихід
Підказки, які з’являються у нижньому рядку статуса підкажуть та допоможуть розібратися:
Iptraf-ng пропонує користувачу вивід інформації у зручному та доступному для нього форматі. Таким чином легко контролювати потоки трафіку та визначати ті чи інші аномалії/потоки/джерела.
Vnstat
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 можна повністю виміряти інтернет-активність, контролювати витрати помегабайтно та дати оцінку споживанню трафіка.
Nethogs
Nethogs – корисна утиліта, яка дозволяє відстежувати трафік по системним процесам.
Команди:
sudo apt-get install nethogs– встановлення;nethogs– запуск.
TCPDUMP
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
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 має україномовну локалізацію і дозволяє:
- обирати набори фільтрів для застосування до спостережуваного трафіку;
- переглядати загальну статистику інтернет-трафіку;
- переглядати в реальному часі графіки інтенсивності трафіку;
- отримувати подробиці про доменні імена та мережевих провайдерів хостів, з якими ви обмінюєтеся трафіком;
- визначати підключення у вашій локальній мережі;
- перевіряти кожне мережеве підключення в реальному часі;
- дізнаватися географічне розташування віддалених хостів;
- зберігати обрані мережеві хости;
- встановити власні сповіщення, щоб інформувати про певні події в мережі;
- зберегти повний текстовий звіт з детальною інформацією для кожного мережевого підключення:
- обирати стилі оформлення із 4 різних доступних тем;
- … та багато іншого.
Автор: © Konrad Ravenstone, KR. Laboratories Research Labs
















