jablonka.czprosek.czf

hotsanic

Subversion Repositories:
[/] [trunk/] [modules/] [networks/] [platform/] [linux.pm] - Diff between revs 5 and 6

Show entire file Ignore whitespace

Rev 5 Rev 6
Line 12... Line 12...
my %args=@_; my %args=@_;
   
my $IPTABLES=$args{IPTABLES}; my $IPTABLES=$args{IPTABLES};
   
if ( (! -e "acct_int.dat") || (! -e "acct_ext.dat")) { if ( (! -e "acct_int.dat") || (! -e "acct_ext.dat")) {
system("$IPTABLES -L acct_int_tcp -xvn > acct_int.dat"); system("$IPTABLES -L acct_int_other -xvn > acct_int.dat");
system("$IPTABLES -L acct_ext_tcp -xvn > acct_ext.dat"); system("$IPTABLES -L acct_ext_other -xvn > acct_ext.dat");
foreach $prt ("udp","icmp","all") { foreach $prt ("tcp","udp") {
  system("$IPTABLES -L acct_int_$prt -xvn | sed 's/all/$prt/g' >> acct_int.dat");
  system("$IPTABLES -L acct_ext_$prt -xvn | sed 's/all/$prt/g' >> acct_ext.dat");
system("$IPTABLES -L acct_int_$prt -xvn >> acct_int.dat"); system("$IPTABLES -L acct_int_$prt -xvn >> acct_int.dat");
system("$IPTABLES -L acct_ext_$prt -xvn >> acct_ext.dat"); system("$IPTABLES -L acct_ext_$prt -xvn >> acct_ext.dat");
} }
} }
   
my %acct_int_old=readfile("acct_int.dat",$IPTABLES); my %acct_int_old=readfile("acct_int.dat",$IPTABLES);
my %acct_ext_old=readfile("acct_ext.dat",$IPTABLES); my %acct_ext_old=readfile("acct_ext.dat",$IPTABLES);
system("$IPTABLES -L acct_int_all -xvn > acct_int.dat"); system("$IPTABLES -L acct_int_other -xvn > acct_int.dat");
system("$IPTABLES -L acct_ext_all -xvn > acct_ext.dat"); system("$IPTABLES -L acct_ext_other -xvn > acct_ext.dat");
foreach $prt ("udp","icmp","tcp") { foreach $prt ("tcp","udp") {
system("$IPTABLES -L acct_int_$prt -xvn | sed 's/all/$prt/g' >> acct_int.dat"); system("$IPTABLES -L acct_int_$prt -xvn | sed 's/all/$prt/g' >> acct_int.dat");
system("$IPTABLES -L acct_ext_$prt -xvn | sed 's/all/$prt/g' >> acct_ext.dat"); system("$IPTABLES -L acct_ext_$prt -xvn | sed 's/all/$prt/g' >> acct_ext.dat");
} }
my %acct_int=readfile("acct_int.dat",$IPTABLES); my %acct_int=readfile("acct_int.dat",$IPTABLES);
my %acct_ext=readfile("acct_ext.dat",$IPTABLES); my %acct_ext=readfile("acct_ext.dat",$IPTABLES);
   
my $time=time; my $time=time;
   
foreach my $nn (sort(keys(%acct_int))) { foreach my $nn (sort(keys(%acct_int))) {
$allin=$acct_int{$nn}[1]-$acct_int_old{$nn}[1]; $otherin=$acct_int{$nn}[1]-$acct_int_old{$nn}[1];
$tcpin=$acct_int{$nn}[3]-$acct_int_old{$nn}[3]; $tcpin=$acct_int{$nn}[3]-$acct_int_old{$nn}[3];
$udpin=$acct_int{$nn}[5]-$acct_int_old{$nn}[5]; $udpin=$acct_int{$nn}[5]-$acct_int_old{$nn}[5];
$icmpin=$acct_int{$nn}[7]-$acct_int_old{$nn}[7]; $icmpin=$acct_int{$nn}[7]-$acct_int_old{$nn}[7];
$allout=$acct_int{$nn}[2]-$acct_int_old{$nn}[2]; $otherout=$acct_int{$nn}[2]-$acct_int_old{$nn}[2];
$tcpout=$acct_int{$nn}[4]-$acct_int_old{$nn}[4]; $tcpout=$acct_int{$nn}[4]-$acct_int_old{$nn}[4];
$udpout=$acct_int{$nn}[6]-$acct_int_old{$nn}[6]; $udpout=$acct_int{$nn}[6]-$acct_int_old{$nn}[6];
$icmpout=$acct_int{$nn}[8]-$acct_int_old{$nn}[8]; $icmpout=$acct_int{$nn}[8]-$acct_int_old{$nn}[8];
updatedb($args{MODNAME},$time,"int$nn",$tcpin,$udpin,$icmpin,$tcpout,$udpout,$icmpout); updatedb($args{MODNAME},$time,"int$nn",$tcpin,$udpin,$otherin,$tcpout,$udpout,$otherout);
} }
   
foreach my $nn (sort(keys(%acct_ext))) { foreach my $nn (sort(keys(%acct_ext))) {
$allin=$acct_ext{$nn}[1]-$acct_ext_old{$nn}[1]; $otherin=$acct_ext{$nn}[1]-$acct_ext_old{$nn}[1];
$tcpin=$acct_ext{$nn}[3]-$acct_ext_old{$nn}[3]; $tcpin=$acct_ext{$nn}[3]-$acct_ext_old{$nn}[3];
$udpin=$acct_ext{$nn}[5]-$acct_ext_old{$nn}[5]; $udpin=$acct_ext{$nn}[5]-$acct_ext_old{$nn}[5];
$icmpin=$acct_ext{$nn}[7]-$acct_ext_old{$nn}[7]; $icmpin=$acct_ext{$nn}[7]-$acct_ext_old{$nn}[7];
$allout=$acct_ext{$nn}[2]-$acct_ext_old{$nn}[2]; $otherout=$acct_ext{$nn}[2]-$acct_ext_old{$nn}[2];
$tcpout=$acct_ext{$nn}[4]-$acct_ext_old{$nn}[4]; $tcpout=$acct_ext{$nn}[4]-$acct_ext_old{$nn}[4];
$udpout=$acct_ext{$nn}[6]-$acct_ext_old{$nn}[6]; $udpout=$acct_ext{$nn}[6]-$acct_ext_old{$nn}[6];
$icmpout=$acct_ext{$nn}[8]-$acct_ext_old{$nn}[8]; $icmpout=$acct_ext{$nn}[8]-$acct_ext_old{$nn}[8];
updatedb($args{MODNAME},$time,"ext$nn",$tcpin,$udpin,$icmpin,$tcpout,$udpout,$icmpout); updatedb($args{MODNAME},$time,"ext$nn",$tcpin,$udpin,$otherin,$tcpout,$udpout,$otherout);
} }
} }
   
sub readfile { sub readfile {
my ($file,$IPTABLES)=@_; my ($file,$IPTABLES)=@_;

Powered by WebSVN 2.2.1