Autor Zpráva
bach
Profil
Dobrý den, mám tu takový pro mě oříšek.
Potřebuji nějak měřit traffic v (asi v kilobajtech) na jednotlivé IP adresy a zapisovat je do databáze.
Asi nejlepší by to bylo pomocí iptables , jelikož na routeru mi nic jiného než linux a php neběží a ukládalo by se to do vzdálené databáze.
Potřeboval bych nějak v PHP udělat dotaz přes iptables na jednotlivé IP na in a out a kolik dat proteklo (download a upload), jelo by to pak v cronu např. co 5 minut.
Prosím o jakoukoliv radu nebo script, jak toto udělat.
Děkuji.

Moderátor jenikkozak: Titulek „Zjištění trafficu roz eth0 nebo br0 a zápis do databáze?????“ obsahoval 5 zbytečných otazníků. Příště zkus prosím vymyslet lepší.
Davex
Profil
Přenesená data se dají přečíst z výstupu příkazu ip -s link show eth0, který se dá spouštět pomocí exec().
DJ Miky
Profil
Davex:
Co se týče celkového přenosu, na Linuxu bude jednodušší číst ze souboru /sys/class/net/eth0/statistics/rx_bytes (přijaté bajty), případně tx_bytes (odeslané bajty).

Nicméně pokud tomu dobře rozumím, je potřeba měřit přenos na jednotlivé cílové IP jednotlivě. K tomu se dají využít pravidla v iptables, označuje se to jako „IP accounting“. Jeden z návodů je tady, ale dají se najít i jiné vyhledávacím dotazem jako „Linux iptables IP accounting“.
Davex
Profil
DJ Miky:
Co se týče celkového přenosu, na Linuxu bude jednodušší číst ze souboru
V Linuxu ano, ale vycházel jsem z toho, že to může být na nějakém routeru, na kterém nemusí být plnohodnotný Linux a /sys nemusí být připojený.
bach
Profil
Ano je to na routeru a chtěl bych to pomocí php zapisovat do vzdálené databáze pomocí cron plánování, cca 5min. Ano jedná se mi o konkrétní IP adresy IN-OUT. Ale nevím jak to uchopit, na routeru mi běží nějaký okleštěný linux, ale je na něm PHP s podporou mysql, iptables. Kdyby to někdo uměl v php přes např.exec nacpat do databáze na jednotlivé ip bylo by to super.
Davex
Profil
Pokud by se měl měřit traffic rozdělený podle IP adres, tak by se ve firewallu mělo vytvořit samostatné pravidlo pro každou adresu. Při vynechání nepodstatných částí se to dá poskládat z návodu Traffic accounting with iptables.
bach
Profil
A víš jak na to? Já netuším, jak to zaimplantovat do PHP do proměnné, abych to uložil do mysql.
Davex
Profil
Ten odkázaný návod nepomohl nebo jsi na něj nekoukal?
bach
Profil
No koukal, ale ty první věci nejsou volané jako php , vypadá to na script. Spíše jsem měl na mysli pouze php, ale nevím, zda to lze.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: