Автор Гілка: Підрахунок ppp0 трафіку  (Прочитано 2049 раз)

Відсутній prinf

  • Кореспондент
  • ***
  • дописів: 119
  • Карма: +0/-0
Порадьте як можна підраховувати ppp0 трафік (потрібно знати скільки за який день я витратив трафіку).
Я тут придумав варіант: можна написати просту програму, яка б це робила, але в такому випадку потрібно зробити так, щоб та програма запускалася зразу після вимкнення комп’ютера (для того, щоб зафіксувати остані дані), нажаль іншим способом я не знаю її як написати...
Скажіть будь ласка як можна запустити програму зразу після вимкнення комп’ютера або порадьте щось друге.

Відсутній Pablo

  • Дописувач
  • **
  • дописів: 96
  • Карма: +0/-0
  • Погроміст
Re: Підрахунок ppp0 трафіку
« Відповідей #1 : 2009-06-20 20:21:25 »
Запустити програму одразу після вимкнення компютера можливо лише на другому увімкненому компютері;) Якщо ж потрібно виконати програму перед перезавантаженням чи вимкненням - потрібно створити посилання на виконуваний файл у відповідному /etc/rcN.d. Погугліть за запитом runlevels
Тихіше їдеш -дальше будеш...
від місця призначення

Відсутній prinf

  • Кореспондент
  • ***
  • дописів: 119
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #2 : 2009-06-20 22:05:44 »
Цитата
Якщо ж потрібно виконати програму перед перезавантаженням чи вимкненням - потрібно створити посилання на виконуваний файл у відповідному /etc/rcN.d
Pablo, дуже вам дякую, це саме те, що мені було потрібно.

Відсутній kalina

  • Дописувач
  • **
  • дописів: 57
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #3 : 2009-06-20 23:59:55 »
Навряд чи вам треба писати цю програму - все вже написано до вас. Навіть якщо ліньки запитати в свого apt'a чи що у вас там є, або в гугля, приміром, щодо 'ppp traffic counter linux' - то спробуйте хоча б почитати man pppd, про ip-down, BYTES_SENT та BYTES_RCVD.

Відсутній prinf

  • Кореспондент
  • ***
  • дописів: 119
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #4 : 2009-06-21 13:12:17 »
Цитата
Навряд чи вам треба писати цю програму - все вже написано до вас. Навіть якщо ліньки запитати в свого apt'a чи що у вас там є, або в гугля, приміром, щодо 'ppp traffic counter linux' - то спробуйте хоча б почитати man pppd, про ip-down, BYTES_SENT та BYTES_RCVD.
Apt нічого потрібного не запропонував на мої пошукові запити. Google також, хоча, мабуть я погано шукав...
Ман показав наступне:
Цитата
      BYTES_SENT
              The number of bytes sent (at the level of the  serial
              port) during the connection.

       BYTES_RCVD
              The  number  of  bytes  received (at the level of the
              serial port) during the connection.
І це мені нічого не говорить... мабуть тому, що я ще погано розбираюся в bash скриптингу.
kalina, якщо ви знаєте доволі простий спосіб для реалізації підрахунку ppp трафіку, (програма повинна працювати без моєї участі і в один файл виводити трафік кожного підключення, а в другий сумарну кількість трафіку за місяць), то скажіть, будь ласка, мені більш точно, як це можна зробити.

Я свою програму вже майже написав, залишилося в її код включити вийнятки і все :)

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #5 : 2009-06-21 18:34:25 »
почитайте про програму vnstat. Вона автоматично рахує трафік при увімкненні мережевого інтерфейсу на який налаштована. Всі дані записує у власну базу. Дуже зручно, особисто користуюсь:)
Debian/wheezy x86_64, lxde

Відсутній kalina

  • Дописувач
  • **
  • дописів: 57
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #6 : 2009-06-21 22:15:48 »
Цитата
Навряд чи вам треба писати цю програму - все вже написано до вас. Навіть якщо ліньки запитати в свого apt'a чи що у вас там є, або в гугля, приміром, щодо 'ppp traffic counter linux' - то спробуйте хоча б почитати man pppd, про ip-down, BYTES_SENT та BYTES_RCVD.
Apt нічого потрібного не запропонував на мої пошукові запити.
А підійти хоч трохи творчо до поради і спробувати варіації (я власне давав зразок для гугля - думав цього досить. Марно...)  ? У мене приміром:


# apt-cache search traffic count
epiphany-extension-beagle - Epiphany extension for Beagle
ipcad - IP accounting daemon
netams - Network Traffic Accounting and Management Service (NeTAMS)
ulog-acctd - ulog-acctd - A userspace network accounting daemon
vnstat - console-based network traffic monitor
webalizer - Web/ftp/proxy server log analyser


Я з цього використовував netams (поки на перейшов на безлімитку)  але для вас, гадаю, це буде заважко. Проте вибір є.
Цитата
Google також, хоча, мабуть я погано шукав...
Вибачте, але це, м'яко кажучи, не відповідає дійсності

Цитата
Ман показав наступне:
Цитата
 BYTES_SENT
                  The number of bytes sent (at the level of the  serial
                  port) during the connection.

         BYTES_RCVD
                  The  number  of  bytes  received (at the level of the
                  serial port) during the connection.
І це мені нічого не говорить... мабуть тому, що я ще погано розбираюся в bash скриптингу.

Яке слово перекласти ? Втім, це скоріш тому, що ви, замість уважно вивчити
предметну область, у якій збираєтесь щось писати (в даному разі - хоча б man
pppd) - намагаєтесь видрати з поступаючої інформації уривчасті відомості щоб
знайти якийсь швидкий хак.  Так з вас толку не буде.

До того ж "Как же вы будете селедку без водки есть?" (c) М. Булгаков ?
Себто як це ви збираєтєсь щось всерйоз робити/писати у лінуксі, якщо не знаєте мови командного інтерпретатора ? Це ж - база всього іншого.

Цитата
якщо ви знаєте доволі простий спосіб для реалізації підрахунку ppp трафіку, (програма повинна працювати без моєї участі і в один файл виводити трафік кожного підключення,
Ну наприклад робимо так:

# cat >/etc/ppp//my-traffic-counter

OUTFILE=/var/log/ppp.count

timestamp=`date`
byte_count=`expr $BYTES_SENT + $BYTES_RCVD`
echo "${timestamp}: $byte_count" >> $OUTFILE
^D

# chmod a+rx etc/ppp/ip-down.d/my-traffic-counter



Все. Гадаю розжовувати не потрібно ? Звісно,  програма далеко не ідеальна, не враховані деякі тонкощі, проте має працювати.

Цитата
а в другий сумарну кількість трафіку за місяць),

А це вже самостійно робіть. Дані всі у вас є.


Відсутній prinf

  • Кореспондент
  • ***
  • дописів: 119
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #7 : 2009-06-23 19:23:53 »
Цитата
Яке слово перекласти ?
Перекладати не потрібно, з англійською наче все у мене впорядку. Але якщо людина не знає bash, або знає на рівні користувача консолі, то чи наштовхне прочитання цих рядків на написання скрипту?

Цитата
Втім, це скоріш тому, що ви, замість уважно вивчити
предметну область, у якій збираєтесь щось писати (в даному разі - хоча б man
pppd) - намагаєтесь видрати з поступаючої інформації уривчасті відомості щоб
знайти якийсь швидкий хак.  Так з вас толку не буде.
Ну звичайно без простого bash скрипта не обійшлось, але хто ж вам сказав, що я збираюся писати в bash? Хоча деяку книгу по bash не завадило б почитати...

Цитата
Себто як це ви збираєтєсь щось всерйоз робити/писати у лінуксі, якщо не знаєте мови командного інтерпретатора ? Це ж - база всього іншого.
Щось всерйоз робити/писати у лінуксі я поки не збираюсь, як надумаю, то, звичайно, ви праві - без bash тут не обійтись.

Дякую за скрипт, попробую розібратися як він працює.
Хоча мене і свій варіант влаштовує: bash скрипт, який прописаний в runlevel 6 та runlevel 0, записує вивід команди ifconfig у файл, далі той файл обробляє програма, написана на С++, і записує необхідні дані у файли, які я в будь-який момент можу переглянути і дізнатися про рух трафіку :)

Відсутній kalina

  • Дописувач
  • **
  • дописів: 57
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #8 : 2009-06-24 00:01:17 »
Але якщо людина не знає bash, або знає на рівні користувача консолі, то чи наштовхне прочитання цих рядків на написання скрипту?

Так. Якщо прочитає ще те, що написано перед тим та після. Наведений у попередньому листі приклад з чотирьох команд, НМД, доводить - це не біном Ньютона.

Цитата
Ну звичайно без простого bash скрипта не обійшлось, але хто ж вам сказав, що я збираюся писати в bash?
А навіщо платити більше ? Команди все одно знати потрібно, якщо не хочете обмежуватись мишоклацанням, а можливості bash'а достатні, щоб зі стандартних програм складати рішення більшості адміністративних задач. Писати щось на компілюючих мовах має сенс лише тоді, якщо існуючі інтерпретатори в принципі не підходять. Скажімо, з причини недостатньої швидкості. Що у даному випадку, гадаю, не має великого значення.

Цитата
Хоча деяку книгу по bash не завадило б почитати...
Цих книг в інеті - валом. Було б бажання.

Цитата
Хоча мене і свій варіант влаштовує: bash скрипт, який прописаний в runlevel 6 та runlevel 0,
НМД більш логічно покласти скрипт, що запускає підрахування - у /etc/ppp/ip-up.d, а скрипт, що його зупиняє - у /etc/ppp/ip-down.d.
Цитата
записує вивід команди ifconfig у файл, далі той файл обробляє програма, написана на С++, і записує необхідні дані у файли, які я в будь-який момент можу переглянути і дізнатися про рух трафіку :)
Взагалі-то для цього достатньо можливостей існуючих програм. Скажімо, awk. Втім якщо хочеться писати на C++ - то діло таке.

Відсутній sv0

  • Новачок
  • *
  • дописів: 34
  • Карма: +0/-0
Re: Підрахунок ppp0 трафіку
« Відповідей #9 : 2009-07-18 15:10:32 »
Debian  Wheezy + Openbox