[PHP] Iptable in array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xiD
  • Registratie: Oktober 2003
  • Laatst online: 09:21
Goeie Avond,

Om een goed overzicht te krijgen over het dataverkeer dat mn bak verbruikt wil ik een overzicht in een PHP file maken.

Als ik de volgende code gebruik:
PHP:
1
2
3
4
exec( "sudo /sbin/iptables -v -x -n -L Accounting " , $iptables );
print("<PRE>");
print_r($iptables);
print("</PRE>");


Dan krijg ik bijvoorbeeld de volgende output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
    [0] => Chain Accounting (2 references)
    [1] =>     pkts      bytes target     prot opt in     out     source               destination
    [2] =>  4724562 567911139            all  --  *      eth0    0.0.0.0/0            0.0.0.0/0
    [3] =>  4549583 310049988            all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
    [4] =>    36522 11440526            all  --  *      eth0    ***           0.0.0.0/0
    [5] =>   837688 79622569            all  --  *      eth0    ***           0.0.0.0/0
    [6] =>     3986  2236167            all  --  *      eth0    ***          0.0.0.0/0
    [7] =>   121907 21497505            all  --  *      eth0    ***            0.0.0.0/0
    [8] =>    48199 11914696            all  --  *      eth0    ***           0.0.0.0/0
    [9] =>      482    34678            all  --  *      eth0    ***         0.0.0.0/0
    [10] =>      472    35086            all  --  *      eth0    ***          0.0.0.0/0
    [11] =>     1092   460072            all  --  *      eth0    ***          0.0.0.0/0
    [12] =>  2578001 319162945            all  --  *      eth0    ***           0.0.0.0/0
    [13] =>  1096213 121506895            all  --  *      eth0    ***           0.0.0.0/0
)


Nu wil ik de data nog per kolom kunnen benaderen, dus bijvoorbeeld $ip['1']; $data['1']. Of in de vorm van $iptable['1']['ip'] of iets dergelijks. (Waarin '1' steeds voor regel 1 staat)

Nu zat ik te denken aan split ofzo maar ik zou begod niet weten waarop ik die regel moet splitten..

Iemand enig idee, of een schop in de goede richting?

[ Voor 14% gewijzigd door xiD op 09-11-2004 22:49 ]

67890


Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Bouw een goede regexp :) Zie de FAQ voor drm's regexp-tut.

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • xiD
  • Registratie: Oktober 2003
  • Laatst online: 09:21
Prammenhanger schreef op 09 november 2004 @ 22:53:
Bouw een goede regexp :) Zie de FAQ voor drm's regexp-tut.
mja was al bezig met regexp, maar ik kan nooit goed overweg met dat soort commands, zal de tutorials is door neme

67890


Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Misschien is een spatie iets om op te splitten?

edit:

En lees de FAQs maar hoe dat moet... :(

[ Voor 43% gewijzigd door Sendy op 09-11-2004 23:17 ]


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

$array = preg_split('%\s{2,}%', $input);

zoiets misschien?

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • xiD
  • Registratie: Oktober 2003
  • Laatst online: 09:21
Sendy schreef op 09 november 2004 @ 22:56:
Misschien is een spatie iets om op te splitten?
mja dat zou idd kunnen vanuit die array, maar hoe kan ik met preg_split ofzo op een spatie splitten

---

heb t met 'explode' gedaan en dat werkt

[ Voor 10% gewijzigd door xiD op 09-11-2004 23:09 ]

67890


Acties:
  • 0 Henk 'm!

  • UltraSub
  • Registratie: Mei 2003
  • Laatst online: 01-09 22:45
Waarschijnlijk wil je het helemaal niet horen, omdat je het wss zelf wilt doen, maar ik wil het toch even zeggen: http://apt-get.dk/mrts/
Doet precies wat je wilt, en alhoewel ik het ooit ook zelf heb willen schrijven, zou ik niet zo snel weten wat ik hieraan kan verbeteren :P

Acties:
  • 0 Henk 'm!

  • xiD
  • Registratie: Oktober 2003
  • Laatst online: 09:21
UltraSub schreef op 09 november 2004 @ 23:10:
Waarschijnlijk wil je het helemaal niet horen, omdat je het wss zelf wilt doen, maar ik wil het toch even zeggen: http://apt-get.dk/mrts/
Doet precies wat je wilt, en alhoewel ik het ooit ook zelf heb willen schrijven, zou ik niet zo snel weten wat ik hieraan kan verbeteren :P
werkt niet op elke bak, maar heb t al een gebruikt. toch thx iig

67890


Acties:
  • 0 Henk 'm!

Verwijderd

Wolfboy schreef op 09 november 2004 @ 22:58:
$array = preg_split('%\s{2,}%', $input);

zoiets misschien?
Hmm, procentjes als delimiters, dat is voor het eerst dat ik dat zie :).

Maar deze zal niet werken denk ik, omdat je al ziet dat er tussen pkts en bytes bijvoorbeeld maar 1 spatie staat. En aangezien geen enkel veld spaties kan bevatten, zal \s+ denk ik voldoende zijn.
Pagina: 1