Rechercher : dans
Par :

Perl analyse de fichiers-logs

Dernière réponse le 18 mar 2008 à 07:31:27 finelady, le 18 mar 2008 à 02:09:45 
 Signaler ce message aux modérateurs

Bonjour,
Bonjour,
Je veux faire un script en perl qui va faire une analyse de fichier log pour determiner :
-nombre de sessions ouvertes et fermées
-le nombre d'utilisateurs
-laduree couverture du log (dates hr)
-nbre de lignes-traces pr chque adresse visee
-nbre de trace pr chque service
-nbre de connexion popo,shs et ima-liste des adresses qu ont utiliser ssh
-et en fin liste adresse qui ont envoye un mail.
j ai commence avec ceci :

print "\n Debut d'analyse de logs\n\n" ;

while (<>) { $src .= $_ } ;
$_ = $src ;
$so = 0 ;
while (m| session opened for user (.*?) by |gs) {
$so++;
if ($so<5) { print " " .sprintf("%4d",$so)." $1\n"; }
elsif ($so==5) { print " ...\n\n" ; } ;
} ;
print " ".sprintf("%4d",$so)." sessions ouvertes\n" ;
while (m| session closed for (.*?) by |gs) {
$sc++;
} ;
print " ".sprintf("%4d",$sc)." sessions fermées\n" ;
print "\n Rebelote : \n\n" ;

@ach = ("session opened for user","session closed for") ;
foreach $mac (@ach) {
while (m|$mac (.*?) by |gs) { $nbs{$mac}++ ; } ;
} ;
foreach $mac (reverse sort @ach) {
print " ".sprintf("%-30s %6d",$mac, $nbs{$mac})."\n" ;
} ;
print "\nRécupération des utilisateurs\n" ;

$nu = 0 ;
foreach $mac (@ach) {
while (m|$mac (.*?) by |gs) {
$nu++ ;
$usr{$1}++ ;
if ($nu<5) { print " ".sprintf(" %5d %-15s %-25s",
$nu, $1, $mac)."\n" ; }
elsif ($nu==5) { print " ...\n" ; } ;
} ;
} ;
print "\n Num Utilisateurs Nb Sessions (o/c) \n" ;
$nu = 0 ;
foreach $uti (sort keys %usr) {
$nu++ ;
if ($nu<10) { print " ".sprintf(" %5d %-30s %6d",
$nu, $uti, $usr{$uti})."\n" ; }
elsif ($nu==10) { print " ...\n" ; } ;
} ;
print "\n -- fin d'analyse de logs\n\n" ;

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Perl analyse de fichiers logs » dans :
Perl - Les fichiers Voir La notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
61 Scans anti-malwares en ligne pour Xp/Vista VoirPour pouvoir utiliser les services d'antivirus en ligne gratuits ci-dessous, il suffit généralement de suivre la procédure suivante : Utilisez Internet Explorer pour vous rendre sur le site Acceptez le contrôle Active X Laissez se faire le...
Perl - Entrée et sortie standards VoirQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant...
Analyse des journaux d'événements (logs) VoirL'analyse des journaux Un des meilleurs moyens de détecter les intrusions consiste à surveiller les journaux d'événements (appelés aussi journaux d'activité ou en anglais logs). En effet, d'une manière générale les serveurs stockent dans des...

1

 lami20j, le 18 mar 2008 à 07:31:27
  • +1

Salut,

logs de quoi?

while (<>) - lit quoi?
lami20j

Répondre à lami20j
Collection CommentÇaMarche.net