summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/perl/Isbgraph
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/perl/Isbgraph')
-rw-r--r--contrib/ipfilter/perl/Isbgraph297
1 files changed, 0 insertions, 297 deletions
diff --git a/contrib/ipfilter/perl/Isbgraph b/contrib/ipfilter/perl/Isbgraph
deleted file mode 100644
index c68b672..0000000
--- a/contrib/ipfilter/perl/Isbgraph
+++ /dev/null
@@ -1,297 +0,0 @@
-#!/usr/local/bin/perl
-
-# isbgraph
-# an example in not so hot perl programming....
-# based around GraphMaker from Fabrizio Pivari
-# A graph maker perl script
-
-use GD;
-use Getopt::Long;
-$hr=0;
-
-sub main{
-
-$opt_conf="./graphmaker.cnf";
-
-@elem=("NUMBERYCELLGRIDSIZE","MAXYVALUE","MINYVALUE","XCELLGRIDSIZE","XMAX",
- "Data","Graph","Bar","Average","Graphnum","Title","Transparent","Rbgcolour",
- "Gbgcolour","Bbgcolour","Rfgcolour","Gfgcolour","Bfgcolour","Rcolour",
- "Gcolour","Bcolour","Racolour","Gacolour","Bacolour");
-
-%option=(
- NUMBERYCELLGRIDSIZE => '8',
- MAXYVALUE => '7748',
- MINYVALUE => '6500',
- XCELLGRIDSIZE => '18',
- XMAX => '1000',
- Data => './graphmaker.dat',
- Graph => './graphmaker.gif',
- Bar => '1',
- Average => '1',
- Graphnum => '1',
- Title => 'GraphMaker 2.1',
- Transparent => 'yes',
- Rbgcolour => '255',
- Gbgcolour => '255',
- Bbgcolour => '255',
- Rfgcolour => '0',
- Gfgcolour => '0',
- Bfgcolour => '0',
- Rcolour => '0',
- Gcolour => '0',
- Bcolour => '255',
- Racolour => '255',
- Gacolour => '255',
- Bacolour => '0');
-
-&GetOptions("conf=s","help") || &printusage ;
-
-
-if ($opt_help) {&printusage};
-
-open (CNF, $opt_conf) || die;
-while (<CNF>) {
-s/\t/ /g; #replace tabs by space
-next if /^\s*\#/; #ignore comment lines
-next if /^\s*$/; #ignore empty lines
-foreach $elem (@elem)
- {
- if (/\s*$elem\s*:\s*(.*)/) { $option{$elem}=$1; }
- }
-}
-close(CNF);
-#########################################
-#
-#
-#
-# number datapoints/24 hours is 1440 (minutes)
-#
-# Split into N graphs where each graph has max of 240 datapoints (4 hours)
-#
-
-$barset=0;
-$m=0;
-$YGRIDSIZE = 400;
-$YCELLGRIDSIZE = $YGRIDSIZE/$option{'NUMBERYCELLGRIDSIZE'};
-$XINIT = 30;
-$XEND = 8;
-$YINIT =20;
-$YEND = 20;
-#$XGRIDSIZE = ($option{'XMAX'}*$option{'XCELLGRIDSIZE'});
-#$XGRIDSIZE = (240*$option{'XCELLGRIDSIZE'});
-$XGRIDSIZE = 620;
-$XGIF = $XGRIDSIZE + $XINIT + $XEND;
-$XGRAPH = $XGRIDSIZE + $XINIT;
-$YGIF = $YGRIDSIZE + $YEND + $YINIT;
-$YGRAPH = $YGRIDSIZE + $YINIT;
-$RANGE=$option{'MAXYVALUE'}-$option{'MINYVALUE'};
-$SCALE=$YGRIDSIZE/$RANGE;
-
-# NEW IMAGE
- $im=new GD::Image($XGIF,$YGIF);
-
-$white=$im->colorAllocate(255,255,255);
-$black=$im->colorAllocate(0,0,0);
-$pink=$im->colorAllocate(255,153,153);
-$red=$im->colorAllocate(255,0,0);
-$blue=$im->colorAllocate(0,0,255);
-$green=$im->colorAllocate(0,192,51);
-$orange=$im->colorAllocate(255,102,0);
-$pink=$im->colorAllocate(255,153,153);
-$teal=$im->colorAllocate(51,153,153);
-# gif background is $bg
- $bg=$white;
- $fg=$blue;
-# LINE COLOUR HELP BY VAR $colour
- $colour=$red;
- $acolour=$yellow;
- # GRID
- if ($option{'Transparent'} eq "yes") {$im->transparent($bg)};
- $im->filledRectangle(0,0,$XGIF,$YGIF,$bg);
-
-# Dot style
-# vertical markers on Y axis grid
- $im->setStyle($fg,$bg,$bg,$bg);
- for $i (0..$option{'XMAX'})
- {
- $xspace= $XINIT+$option{'XCELLGRIDSIZE'}*$i +$i;
- # $im->line($xspace,$YINIT,$xspace,$YGRAPH,gdStyled);
- $num = $i+1;
-
- use integer;
- {
- $posis=$num - ($num/60)*60;
- }
- if ($posis eq 0)
- {
- $outhr=0;
- $hr=($hr + 1) ;
- $outhr=$hr+$option{'Graphnum'}*4;
-# shift minutes coords to correct stat hour!
- $im->string(gdMediumBoldFont,$xspace-3,$YGRAPH,"$outhr",$fg);
- }
-
- } # end of scan over X values (minutes)
-
- $YCELLVALUE=($option{'MAXYVALUE'}-$option{'MINYVALUE'})/$option{'NUMBERYCELLGRIDSIZE'};
- for $i (0..$option{'NUMBERYCELLGRIDSIZE'})
- {
- $num=$option{'MINYVALUE'}+$YCELLVALUE*($option{'NUMBERYCELLGRIDSIZE'}-$i);
- $im->string(gdMediumBoldFont,0,$YINIT+$YCELLGRIDSIZE*$i -6,"$num",$fg);
- }
- $im->string(gdSmallFont,$XGRIDSIZE/2-80,0,$option{'Title'},$fg);
-
- $odd_even = $option{'XCELLGRIDSIZE'}%2;
- #odd
- if ($odd_even eq 1) {$middle = $option{'XCELLGRIDSIZE'}/2 +0.5;}
- else {$middle = $option{'XCELLGRIDSIZE'}/2 +0.5;}
-
-# start reading data
-# open (DATA,$option{'Data'}) || die "cant open $option{'Data'}";
-# nextdata becomes Y on reading of second data set....
-$nextdata="N";
-@datafiles=("./in.dat" , "./out.dat" );
- foreach ( @datafiles )
-{
- $m=0;
- $count=0;
- $i=0;
- $fname=$_;
-
- print "fname $fname\n";
-# change entry for red in colour table to green for packets LEAVING target host
-
- open (DATA,$_) || die "cant open $_";
- print "$nextdata nextdata\n";
- while (<DATA>)
- {
- /(.*):(.*)/;
- if ($option{'Average'} eq 1) {$m+=$2;$i++;}
- if ($count eq 0){$XOLD=$1;$YOLD=$2;$count=1;next}
- $X=$1; $Y=$2;
-# +($X-1) are the pixel of the line
- $xspace= $XINIT+$option{'XCELLGRIDSIZE'}*($X-1) +($X-1);
- $xspaceold= $XINIT+$option{'XCELLGRIDSIZE'}*($XOLD-1) +($XOLD-1);
- $yspace= $YGRAPH-($Y-$option{'MINYVALUE'})*$SCALE;
- $yspaceold= $YGRAPH-($YOLD-$option{'MINYVALUE'})*$SCALE;
- $barset=$option{'Bar'};
- if ($barset eq 0)
- {
-
- if($nextdata eq "Y")
- {
-
- #$im->line($XINIT,$YGRAPH,$X,$Y,$orange);
- $im->line($xspaceold,$yspaceold,$xspace,$yspace,$green);
- }
- else
- {
- $im->line($xspaceold,$yspaceold,$xspace,$yspace,$red);
- }
- }
- else
- {
- if ($1 eq 2)
- {
- $im->filledRectangle($xspaceold,$yspaceold,
- $xspaceold+$middle,$YGRAPH,$colour);
- $im->rectangle($xspaceold,$yspaceold,
- $xspaceold+$middle,$YGRAPH,$fg);
- }
- else
- {
- $im->filledRectangle($xspaceold-$middle,$yspaceold,
- $xspaceold+$middle,$YGRAPH,$colour);
- $im->rectangle($xspaceold-$middle,$yspaceold,
- $xspaceold+$middle,$YGRAPH,$fg);
- }
- }
- $XOLD=$X; $YOLD=$Y;
-
- } # end of while DATA loop
-
- $im->line(500,40,530,40,$red);
- $im->line(500,60,530,60,$green);
- $im->string(gdSmallFont,535,35,"Packets IN",$fg);
- $im->string(gdSmallFont,535,55,"Packets OUT",$fg);
-
- if ($option{'Bar'} ne 0)
- {
- if ($X eq $option{'XMAX'})
- {
- $im->filledRectangle($xspace-$middle,$yspace,
- $xspace,$YGRAPH,$colour);
- $im->rectangle($xspace-$middle,$yspace,
- $xspace,$YGRAPH,$fg);
- }
- else
- {
- $im->filledRectangle($xspace-$middle,$yspace,
- $xspace+$middle,$YGRAPH,$colour);
- $im->rectangle($xspace-$middle,$yspace,
- $xspace+$middle,$YGRAPH,$fg);
- }
- }
- close (DATA);
-
-
- $nextdata="Y";
-# TOP LEFT is 0,0 on GIF (image)
-# origin of plot is xinit,yinit
- # print "little line\n";
- $im->line($xspace,$yspace,$xspace,$YGRAPH,$blue);
- $im->line($xspace,$YGRAPH,$XINIT,$YGRAPH,$blue);
-# (0,0) in cartesian space time=0 minutes, rate 0 packets/s
- $im->line($XINIT,$YGRAPH,$XINIT,$YGRAPH,$blue);
- $im->line($XINIT,$YGRAPH,$XINIT,$YGRAPH,$green);
-
-} # close foreach loop on data file names
-
-
-
-
- if ($option{'Average'} eq 1)
- {
- # Line style
- $im->setStyle($acolour,$acolour,$acolour,$acolour,$bg,$bg,$bg,$bg);
- $m=$m/$i;
- $ym=$YGRAPH-($m-$option{'MINYVALUE'})*$SCALE;
- $im->line($XINIT,$ym,$XGRAPH,$ym,gdStyled)
- }
- $im->line($XINIT,$YINIT,$XINIT,$YGRAPH,$fg);
- $im->line($XINIT,$YINIT,$XGRAPH,$YINIT,$fg);
- $im->line($XGRAPH,$YINIT,$XGRAPH,$YGRAPH,$fg);
- $im->line($XINIT,$YGRAPH,$XGRAPH,$YGRAPH,$fg);
-
- $im->string(gdSmallFont,$XGIF-335,$YGIF - 12,"Time of Day (hours)",$fg);
- open (GRAPH,">$option{'Graph'}") || die "Error: Grafico.gif - $!\n";
- print GRAPH $im -> gif;
- close (GRAPH);
-
-
-
-
-} # end of subroutine main
-
-main;
-exit(0);
-
-sub printusage {
- print <<USAGEDESC;
-
-usage:
- graphmaker [-options ...]
-
-where options include:
- -help print out this message
- -conf file the configuration file (default graphmaker.cnf)
-
-If you want to know more about this tool, you might want
-to read the docs. They came together with graphmaker!
-
-Home: http://www.geocities.com/CapeCanaveral/Lab/3469/graphmaker.html
-
-USAGEDESC
- exit(1);
-}
-
OpenPOWER on IntegriCloud