Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- ##############################################################################################>
- ##############################################################################################>
- ###Script de recupertation du traffic sur un port et son éxportation dans la base mysql ######>
- ##############################################################################################>
- ##############################################################################################>
- use strict;
- use DBI;
- if(!$ARGV[0] || !$ARGV[1] || !$ARGV[2] || !$ARGV[3]){
- print "Usage:./programme <serveur> <port> <identifiant> <motdepasse>\n";
- exit;
- }
- ######### Déclaration des variables #########################
- my $line;
- my @string;
- my $port = $ARGV[1];####port d'écoute pour le sniffer
- ####### paramètres de connexion à la base de données ############
- my $bd = 'vision_db';
- my $serveur = $ARGV[0];# Il est possible de mettre une adresse IP
- my $identifiant = $ARGV[2]; # Identifiant
- my $motdepasse = $ARGV[3];# mot de pass
- ####### Fin paramètres de connexion à la base de données ########
- ####### Fin déclaration des variables ##############
- while(1){########## Boucle infini ^^(le programme se reéxecute en permanance) ##########
- ########################################################################################
- ##########################Main Programme################################################
- ########################################################################################
- ############################ Connexion à la base #######################################
- my $dbh = DBI->connect( "dbi:mysql:dbname=$bd;host=$serveur;", $identifiant, $motdepasse )
- or die "Connexion impossible à la base de données $bd !";
- ########################### Fin de Connexion à la base #################################
- ########################## Execution du tshark pour l'analyse du reseau sur un port et sauvgarde des données dans un fichier #################
- system ("/usr/bin/tshark -i eth1 -f 'tcp port $port' -a duration:6 -T fields -E separator=/s -e ip.src -e ip.dst -e frame.time_delta >> traffic");
- #################### Fin d'Execution du tshark pour l'analyse du reseau sur un port et sauvegarde des données dans un fichier #################
- ############# Ouverture du fichier contenant l'analyse du traffic #############
- open(FD,"traffic") || die ("Erreur d'ouverture de file");
- ############# Fin d'Ouverture du fichier contenant l'analyse du traffic ########
- ######### Lecture du fichier contenant le traffic ###########
- while(defined($line=<FD>))
- {
- ######### Récuperation du traffic entrant et l'insertion dans la base de données mysql ############
- ######## Fin de Récuperation du traffic entrant et l'insertion dans la base de données mysql ############
- ####### Récuperation du traffic sortant et l'insertion dans la base de données mysql ###########
- if($line=~ m/^10.8.99.230/){
- my $requete_sql = <<"SQL";
- INSERT INTO IpVisionOut ( IpIn, IpOut, TempsLatenceIp )
- VALUES ( ?, ?, ? );
- SQL
- @string=split(/ /,$line);
- my $sth = $dbh->prepare($requete_sql) or die $dbh->errstr;
- $sth->execute( $string[1], $string[0], $string[2] )
- or die "Echec Requête $requete_sql : $DBI::errstr";
- }
- ###### Fin de Récuperation du traffic sortant et l'insertion dans la base de données mysql #######
- }
- $dbh->disconnect(); #### Déconnexion de la base de données ####
- close FD; #### Fermeture du fichier contenant le traffic ####
- system("rm traffic"); #### Suppression du fichier contenant le traffic #####
- ###########################################################################################
- ########################### Fin Main programme ############################################
- ###########################################################################################
- }############# Fin Boucle infini ##############
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement