Bonjour,
Voila, j'aimerais pouvoir récupérer à l'aide de 2fichiers quel port possède +sieurs adresses mac (c'est un trunk), quel port à 1seul adresse mac, et quel port n'a aucune adresse.
Pour cela mes 2 fichiers sont :
et0002.b9b0.5a80 Gi0/2
0002.b9b0.5ab2 Gi0/2
0008.e380.bced Gi0/1
000b.fd42.4c7f Gi0/1
000a.e602.ce92 Fa0/7
000b.fdd5.c07f Gi0/1
0008.e380.bced Gi0/1
000d.5622.5841 Fa0/20
.....
Voila un petit bout de code, tout en sachant que je suis débutante en perl.Fa0/1
Fa0/2
Fa0/3
Fa0/4
Fa0/5
Fa0/6
Fa0/7
Fa0/8
......
......
Gi0/1
Gi0/2
Il ne fonctionne pas comme je voudrais évidemment.
En fait, j'aimerais pour l'instant compter le nombre d'adresse qui passe par le port gi0/1, fa0/1, fa0/2..., et ensuite afficher par mon 2ème fichier que le port gi0/1 par exemple est trunk (car +sieur adresse), le fa0/7 a 1seule adresse, et fa0/10 par exemple n'a pas d'adresse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 #!/usr/bin/perl -w use strict; use CGI; open ( FichierIP,"../liste_des_adresses2b.txt") || die "\n impossible d'ouvrir le fichier nommé liste _des_adresses2b.txt $! \n\n" ; open ( FichierPort,"../10.131.31.1b.txt") || die "\n impossible d'ouvrir le fichier nommé 10.131.31.1b.txt $! \n\n" ; open ( FichierInterface,"../interface2.txt") || die "\n impossible d'ouvrir le fichier nommé interface2.txt $! \n\n" ; # On affiche l'en-tête HTML print("content-type : text/html\n\n"); my %Nb; while( <FichierPort> ) { # on supprime le retour chariot de la fin de la ligne chomp; #on sépare les adresses Mac des ports my @LIGNES_FichPort = split; my $mac2 = $LIGNES_FichPort[0] ; my $port = $LIGNES_FichPort[1] ; my $i; $mac2 =~ tr/.//d; $Nb{$port}++; my @Port = keys (%Nb); print "@Port \n"; #foreach $i(@Port){ # print "$Nb{$i} \n"; #} print "</body></html>"; close (FichierIP); close (FichierPort); close (FichierInterface);
j'espère que vous m'avez comprise.
Merci pour votre aide.
Partager