📄 snortlog
字号:
#!/usr/bin/perl# Syslog analysis script orignially written by# Angelos Karageorgiou <angelos@StockTrade.GR> and# tweaked by Martin Roesch <roesch@clark.net>if($ARGV[1] eq undef){ print "USAGE: snortlog <logname> <machinename>\n"; print "EXAMPLE: snortlog /var/log/messages sentinel\n"; print "Note: The machine name is just the hostname, not the FQDN!\n"; exit;}$machine = $ARGV[1];$targetlen=25;$sourcelen=35;$protolen=12;use Socket;open(LOG,"< $ARGV[0]") || die "No can do";printf("%15s %-35s %-25s %-25s\n","DATE","WARNING", "FROM", "TO");print "=" x 100;print "\n";while(<LOG>) { chomp(); if ( ( ! /.*snort*/gi ) ) { next ; } $_ =~ s/ $machine snort//gi ; $date=substr($_,0,15); $rest=substr($_,16,500); @fields=split(": ", $rest); $text=$fields[0]; $fields[1] =~ s/ \-\> /-/gi; ($source,$dest)=split('-', $fields[1]); ($host,$port)=split(':',$source); $iaddr = inet_aton($host); # or whatever address $name = gethostbyaddr($iaddr, AF_INET); if ( $name =~ /^$/ ) { $name=$host; } $name = $name . ":" . $port; $skipit=0; ($shost,$sport)=split(':',$dest); $sport =~ s/ //gi; $siaddr = inet_aton($shost); # or whatever address $sname = gethostbyaddr($siaddr, AF_INET) ; if ( $sname =~ /^$/ ) { $sname=$shost; } $sname = $sname . ":" . $sport; printf("%15s %-32s %-30s %s\n", $date, $text, $name,$sname);}close(LOG);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -