#!/usr/local/bin/perl
use Tk;
use File::Tail;
#Main Window
my $mw = new MainWindow;
$mw-> title ("Packet Analyzer Tool");
my $frm_4 = $frm_3 -> Frame(-relief => 'groove', -borderwidth =>2) -> pack(-side => "left");
my $but1 = $frm_1 -> Button(-text => "Start",
-command =>\&push_start)
-> pack(-side => "left", -anchor => 'nw', -ipadx => 30, -ipady => 35);
my $txt1 = $frm_4 -> Text(-width => 60, -height =>20,-state => "disable")
-> pack(-side =>"left",-anchor => 's');
my $srl = $frm_4 -> Scrollbar(-orient=>'v', -command =>[yview => $txt]);
$txt1 -> configure(-yscrollcommand =>['set',$srl]);
#$txt -> insert('end', "XXX"); //display text
$txt1 -> grid(-row=>1, -column=>1);
$srl -> grid(-row=>1, -column=>2,-sticky=>"ns");
MainLoop;
#Executed START BUTTON
sub push_start
{
chdir( "/var/log/snort");
foreach my $fol(glob "*.*.*.*")
{
print "Opening $fol\n";
chdir("/var/log/snort/$fol");
foreach my $subfile(glob "*:*")
{
print "opening $subfile\n";
push(@files,File::Tail->new(name=>"$subfile",debug=>$debug));
}
while (1)
{
($nfound,$timeleft,@pending)= File::Tail::select(undef,undef,undef,$timeout,@files);
unless ($nfound)
{
print "Nothing to print \n";
}
else
{
foreach(@pending)
{
$txt1 ->insert('end', $_->read);
}
}
}
}
}
####
#!/usr/local/bin/perl
use Tk;
use File::Tail;
#Main Window
my $mw = new MainWindow;
$mw-> title ("Packet Analyzer Tool");
my $frm_4 = $frm_3 -> Frame(-relief => 'groove', -borderwidth =>2) -> pack(-side => "left");
my $but1 = $frm_1 -> Button(-text => "Start",
-command =>\&push_start)
-> pack(-side => "left", -anchor => 'nw', -ipadx => 30, -ipady => 35);
my $txt1 = $frm_4 -> Text(-width => 60, -height =>20,-state => "disable")
-> pack(-side =>"left",-anchor => 's');
my $srl = $frm_4 -> Scrollbar(-orient=>'v', -command =>[yview => $txt]);
$txt1 -> configure(-yscrollcommand =>['set',$srl]);
#$txt -> insert('end', "XXX"); //display text
$txt1 -> grid(-row=>1, -column=>1);
$srl -> grid(-row=>1, -column=>2,-sticky=>"ns");
MainLoop;
#Executed START BUTTON
sub push_start
{
chdir( "/var/log/snort");
foreach my $fol(glob "*.*.*.*")
{
print "Opening $fol\n";
chdir("/var/log/snort/$fol");
foreach my $subfile(glob "*:*")
{
print "opening $subfile\n";
push(@files,File::Tail->new(name=>"$subfile",debug=>$debug));
}
while (1)
{
($nfound,$timeleft,@pending)= File::Tail::select(undef,undef,undef,$timeout,@files);
unless ($nfound)
{
print "Nothing to print \n";
}
else
{
foreach(@pending)
{
tie *STDOUT ref $txt1, $txt1;
print $_->read;
}
}
}
}
}