Jump to content

Bandwidthd - анализатор трафика


Recommended Posts

пакеты в репозитории `opkg install bandwidthd-sqlite`

bandwidthd-sqlite_2.0.1-34-1_mips-3x.ipk

bandwidthd-sqlite_2.0.1-34-1_mipsel-3x.ipk

нужно поднять сервер и прикрутить модули php7 (для тестового запуска использовалась "расширенная морда" на основе энджика).

установить пакет, запустить бинарник или наваять скрипт запуска, типа:

#!/bin/sh

[ -f /opt/var/run/bandwidthd.pid ] && rm /opt/var/run/bandwidthd.pid

ENABLED=yes
PROCS=bandwidthd
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

не забыть сделать его исполняемым (`chmod +x /path/to/script`), запустить и подождать 1-2 мин. (на создание БД), сидеть и собирать статистику )))

ip.add.re.ss:port/bandwidthd/

screen_143.png

screen_142.png

  • Thanks 2
Link to comment
Share on other sites

:)  Кирпич в огород пакета или прошивки? Для разнообразия мониторинга сойдёт (могет быть) +, по идеи, не сбрасывается статистика, т.к. должна писаться в БД.

Link to comment
Share on other sites

1 час назад, TheBB сказал:

:)  Кирпич в огород пакета или прошивки? Для разнообразия мониторинга сойдёт (могет быть) +, по идеи, не сбрасывается статистика, т.к. должна писаться в БД.

Напоминалка тем, кто потом будет жаловаться почему считает неправильно :)

Link to comment
Share on other sites

ох уж эти "попугаи с попугайскими крылышками", жадные до каждого бита, э-э-э-эх :) 

общую картину пакет даст (а картинки симпатишныя вышли), можно настаивать вдоль и поперёк...

Link to comment
Share on other sites

что-то не получилось настроить правильно. 

какой должен быть 

subnet 192.168.1.0/24

и какой должен быть интерфейс прослушки для модемного-инета (без трафика между локальными сетями)

dev "ppp0"

Edited by edm
Link to comment
Share on other sites

крч удалил. фигня всё это. vnstat и то лучше. 

bandwidthd не удовлетворил требования: не смог мониторить интерфейс модемного инета и разложить трафик по клиентам

Link to comment
Share on other sites

дело в том, что когда обращаюсь к веб-серверу 192.168.1.1:80 , то трафик засчитивается, а мне надо,  чтобы трафик локальной сети (то есть 192.168.1.1:80) не вводилось в трафик модемного-инета

Link to comment
Share on other sites

1 минуту назад, Александр Рыжов сказал:

@edm, вы настолько часто обращаетесь к WebUI роутера, что это портит статистику трафика?

Видимо каждый байт должен быть посчитан!  И не дай бог, если десяток другой килобайт локального трафика, испортит всю статистику... 

Link to comment
Share on other sites

1 час назад, Александр Рыжов сказал:

@edm, вы настолько часто обращаетесь к WebUI роутера, что это портит статистику трафика?

именно.

 

модемный-инет (в сутки 100МБ):Screenshot_2017-04-28-11-38-06.thumb.png.dd36885f9c703b347abf4d2fae7eedb4.png

 

и данные, передающиеся между локальной сетью:

Screenshot_2017-04-28-11-38-59.thumb.png.40c984f6edfc7fbb10f21aef108a7fc1.png

 

Так как локальная сеть тип безлимитная, а у модемного-инета есть лимит, то мне важно знать, какой клиент и сколько МБ подтратил именно на модемный-инет. Притом что клиент будет заходить на свой локальный owncloud, и трафик локальной сети не толжен подсчитываться. 

Link to comment
Share on other sites

1 час назад, Mamay сказал:

 десяток другой килобайт локального трафика, испортит всю статистику... 

не десяток и не КБ, а сотнями МБ и местами ГБ.

Link to comment
Share on other sites

18 минут назад, edm сказал:

Так как локальная сеть тип безлимитная, а у модемного-инета есть лимит, то мне важно знать, какой клиент и сколько МБ подтратил именно на модемный-инет.

Так под локальной сетью понимается не провайдерская локалка, а трафик между LAN-портами роутера? Он учитываться вообще не будет, поскольку в SoC не залетает. Всё, что может «портить» статистику из числа локального трафика — редкие DHCP-запросы, да широковещательные рассылки. Капля в море.

Link to comment
Share on other sites

28 минут назад, Александр Рыжов сказал:

Так под локальной сетью понимается не провайдерская локалка, а трафик между LAN-портами роутера?

не провайдерская. Трафик между адресами 192.168.1.0 - 192.168.1.255, то есть когда играем в мульти-плеер игру по общей точки доступа, или когда передам друг-другу файлы по вай-фай "сопряжениям" через роутер или когда пользуемся 192.168.1.1:portAll.  Именно такой трафик не должен учитываться для каждого клиента, а должен учитываться все обращения на внешный мир - в интернет.

 

Ладно, скажи, пожалуйста, какой интерфес dev "ppp0" и какое правильное значение должен быть у subnet в конфиге Bandwidthd, чтобы работало так, как хочу?

Link to comment
Share on other sites

ну вот смотри:Screenshot_2017-04-28-13-11-34.thumb.png.4b239708dc9abf014e7a72a816e52b8c.png

bandwidthd учёл локальный трафик 24mb+ , когда зашел в https://192.168.1.1/owncloud/ ,локальный трафик мне не надо.

 

Настройки bandwidthd по умолчанию (кстати, в логах: bandwidthd Opening ra0)

Edited by edm
Link to comment
Share on other sites

кстати, есть в bandwidthd.conf строчки:

#Libpcap format filter string used to control what bandwidthd see's

#Please always include "ip" in the string to avoid strange problems

#filter "ip"

filter "192.168.1.1" #добавил это, и пишет ошибку "Error: syntax error in filter expression: syntax error  

Malformed libpcap filter string in bandwidthd.conf"

Link to comment
Share on other sites

Сам конфиг взят из архива с исходниками и изменен только путь к БД. Почитать про пакет можно, напр., на wiki openwrt, github или найти ещё где-то.

Посмотреть "Device to listen..." для прослушки, можно с помощью`bandwidthd -l`, о чем и написано в комментах конфига.

Link to comment
Share on other sites

РЕШЕНО! 

в bandwidthd.conf добавил

#filte "ip"

filter "ip and not host 192.168.1.1" #исключаем трафик веб-сервера на 192.168.1.1

и теперь при мониторинге не учитывается трафик локальной сети (а точнее только 192.168.1.1 не будет учитываться)

 

 

(другой анг.форум о фильтре)

Edited by edm
ссылка
  • Thanks 1
Link to comment
Share on other sites

В 30.04.2017 в 13:12, edm сказал:

не знаю почему...

пришлось поставить пакет, однако

~ # opkg list-installed | grep band
bandwidthd-sqlite - 2.0.1-34-1
~ # ls -al /opt/
drwxr-xr-x   13 root     root          4096 May  1 20:32 .
drwxr-xr-x   15 root     root           202 Apr 23 09:20 ..
drwxr-xr-x    2 root     root          4096 Apr 21 20:22 bin
drwxr-xr-x   13 root     root          4096 Apr 27 12:55 etc
drwxr-xr-x    2 root     root          4096 May  1 20:32 home
drwxr-xr-x   11 root     root         12288 Apr 27 12:55 lib
drwx------    2 root     root         16384 Mar 13 16:18 lost+found
drwxr-xr-x    3 root     root          4096 May  1 20:26 root
drwxr-xr-x    2 root     root          4096 May  1 20:29 sbin
drwxr-xr-x   10 root     root          4096 Apr 27 12:55 share
-rw-r--r--    1 root     root     536870912 Apr 12 10:48 swapfile
drwxr-xr-x    3 root     root          4096 Apr 21 20:22 tmp
drwxr-xr-x    4 root     root          4096 Apr 21 20:22 usr
drwxr-xr-x   11 root     root          4096 Apr 27 12:55 var
~ #

всё, как и должно быть...

Link to comment
Share on other sites

модератор, нравится? как изменил в php под себя

Screenshot_2017-05-08-20-53-18.thumb.png.387d1505fb5e24a855849f6f2d74278a.png

Изменил код php, и теперь "красота" и функционал. Кто хочет, то может скачать архив  bandwidthd-web.zip и содержимое распаковывать на своем веб-сервере роутера, после настраивать config.conf.php.

Доступно в двух вариантах:

https://192.168.1.1/bd/index2.php

и второй для телефонов:

https://192.168.1.1/bd/

Edited by edm
прикрепил файл
  • Thanks 1
Link to comment
Share on other sites

1 час назад, edm сказал:

модератор, нравится?

:) Сей вопрос нужно адресовать, скорее, к пользователям, которые используют (или захотят использовать) этот пакет.

Link to comment
Share on other sites

  • 2 months later...

слабо в сам пакет добавить файл (было бы чудным[= )?

/opt/etc/init.d/S11bandwidthd

чтоб вручную не создавать выше файл при установке opkg install bandwidthd-sqlite

 

 

Пжлст, добавьте

Edited by edm
Link to comment
Share on other sites

  • 2 months later...

Добрый день. 
А можно краткую инструкцию для нубов?  А то opkg install bandwidthd-sqlite сделал,  subnet 192.168.1.0/24 в конфиге прописал,  /opt/etc/init.d/S11bandwidthd  с примером от ТС создал, запустил
 

/opt/etc/init.d/S11bandwidthd start
 Starting bandwidthd...              done.

И как бы всё, по <IP>/bandwidthd/  не открывается. 
 

И вот это, куда распаковывать? 

В 08.05.2017 в 18:57, edm сказал:

Изменил код php, и теперь "красота" и функционал. Кто хочет, то может скачать архив  bandwidthd-web.zip и содержимое распаковывать на своем веб-сервере роутера, после настраивать config.conf.php.

UPD: Разобрался, пошел ставить nginx-zyx  :)

Edited by parkan
UPD
Link to comment
Share on other sites

20 часов назад, parkan сказал:

А можно краткую инструкцию для нубов? 

Так она и есть краткая. Расширенные (как поднять сервер (nginx/lighttpd) и прикрутить модули php) есть в "Каталоге..."

NB

для Entware-Keenetic пакет называется - nginx-zyx; Entware-3x - nginx; PHP5 удалён, используйте PHP7

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...