Ik heb het gedaan met MRTG in combinatie met wat regeltjes in iptables:
Deze heb ik gemaakt voor Soldat gameserver die op poort 23073 draait:
code:
1
2
3
4
5
6
| iptables -N SOLDAT
iptables -I INPUT -j SOLDAT
iptables -I OUTPUT -j SOLDAT
iptables -I FORWARD -j SOLDAT
iptables -I SOLDAT -d 0.0.0.0/0 -p udp --sport 23073
iptables -I SOLDAT -d 0.0.0.0/0 -p udp --dport 23073 |
zo houd iptables 2 tellers bij (up&down) die je uit kunt lezen met bijvoorbeeld dit zelfgemaakte script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| #!/usr/bin/php
<?
error_reporting(0);
$iptables = `iptables -vxnL | awk '{print $2 }' > temp`;
$iptables = file(temp);
for($i=0;$i<count($iptables);$i++)
{
if($i == 0)
{
$chain = substr($iptables[$i],0,-1);
} else
{
if($iptables[$i-1] == "\n")
{
$chain = substr($iptables[$i],0,-1);
} else
{
if(($iptables[$i][0] != "b") and ($iptables[$i] != "\n"))
{
$bytesstr=substr($iptables[$i],0,-1);
echo "$chain $bytesstr\n";
}
}
}
}
unlink('temp');
?> |
het laatste script laat per chain zien hoeveel verkeer er up & down is gegaan wat je met een beetje knutselen als input voor bijvoorbeeld mrtg kan gebruiken
Suc6 ermee