/[cricket]/parse_iptraf.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /parse_iptraf.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by dpavlin, Mon May 20 16:31:01 2002 UTC revision 1.5 by dpavlin, Wed May 22 07:11:08 2002 UTC
# Line 2  Line 2 
2    
3  # based on work of Eric Wong <eric@taedium.net>  # based on work of Eric Wong <eric@taedium.net>
4  # available at http://www.taedium.net/rrd-iptraf/ [iptraf.txt]  # available at http://www.taedium.net/rrd-iptraf/ [iptraf.txt]
5    #
6    # Dobrica Pavlinusic <dpavlin@rot13.org>
7    
8  use strict;  use strict;
9  use warnings;  use warnings;
10    
 use Time::Local;  
   
11  my @PORTS = qw (  my @PORTS = qw (
12          TCP/22 TCP/25 TCP/20 TCP/21 UDP/53          TCP/22 TCP/25 TCP/20 TCP/21 UDP/53
13          TCP/80 TCP/110 TCP/113 TCP/119 UDP/137 UDP/138          TCP/80 TCP/110 TCP/113 TCP/119 UDP/137 UDP/138
14          TCP/210 TCP/443 UDP/514 );          TCP/210 TCP/443 UDP/514 );
15    
16  #my $log = '/var/log/iptraf/tcp_udp_services-eth1.log';  my $log = '/var/log/iptraf/tcp_udp_services-eth1.log';
17  my $log = '/home/dpavlin/iptraf/tcp_udp_services-eth1.log';  #my $log = '/home/dpavlin/iptraf/tcp_udp_services-eth1.log';
18    
19    $log = $ARGV[0] if ($ARGV[0] && -r $ARGV[0]);
20    
21  open(LOG,$log) || die "Can't open logfile '$log': $!";  open(LOG,$log) || die "Can't open logfile '$log': $!";
22    
23    my $delta="/var/tmp/";
24    my $tmp_log=$log;
25    $tmp_log=~s/\W/_/g;
26    $delta.=$tmp_log.".offset";
27    
28    if (-e $delta) {
29            open(D,$delta) || die "can't open delta file '$delta' for log '$log': $!";
30            my $offset=<D>;
31            chomp $offset;
32            close(D);
33            my $log_size = -s $log;
34            if ($offset <= $log_size) {
35                    seek(LOG,$offset,0);
36            }
37    }
38    
39  my %hash;  my %hash;
40    
41  while (<LOG>) {  while (<LOG>) {
# Line 34  while (<LOG>) { Line 52  while (<LOG>) {
52          }          }
53  }  }
54    
55    open(D,"> $delta") || die "can't open delta file '$delta' for log '$log': $!";
56    print D tell(LOG);
57    close(D);
58    
59  close(LOG);  close(LOG);
60    
61  foreach my $port (@PORTS) {  foreach my $port (@PORTS) {
62          print @{$hash{$port}}[0] || 0,"\n",@{$hash{$port}}[1] || 0,"\n";          print @{$hash{$port}}[0] || "U","\n",@{$hash{$port}}[1] || "U","\n";
63          delete $hash{$port};          delete $hash{$port};
64  }  }
65    
# Line 47  foreach my $port (keys %hash) { Line 69  foreach my $port (keys %hash) {
69          $sum_in+=@{$hash{$port}}[0];          $sum_in+=@{$hash{$port}}[0];
70          $sum_out+=@{$hash{$port}}[1];          $sum_out+=@{$hash{$port}}[1];
71  }  }
72    
73    $sum_in = "U" if ($sum_in == 0);
74    $sum_out = "U" if ($sum_out == 0);
75  print "$sum_in\n$sum_out\n";  print "$sum_in\n$sum_out\n";

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.26