Script récupération de port

Fermé
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 - 21 avril 2009 à 09:22
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 - 23 avril 2009 à 14:21
Bonjour,

Ce que je recherche c'est de récupérer les adresses MAC des machines attachées à chaque port pour déterminer au bout du compte sur quel switch est cette machine et sur quel port.

avec par exemple en résultat :

IP : XXXXXXXXXXX
MAC:XXXXXXXXXX
switch : XXX
NUM port switch : X

Mes switchs sont ménageable et on donc snmp.

Quelqu'un pourrais t'il m'aider a realiser se switch ??

Merci d'avance !!
A voir également:

4 réponses

specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 17
21 avril 2009 à 10:04
Voila ce que j'ai en bash mais je pense qu'il serai préférable de le traduire en PERL. Etant donné que je ne suis pas très doué en PERL quelqu'un pourrait t'il m'aider ? merci

#!/bin/sh

#Recuperation des ip a partir de ip_switch.txt

while read ligne; do
        i=`expr $i + 1`
                ip[$i]=$ligne
done < ip_switch.txt


#On en deduit le nombre de switch

nb_switchs=$i


if [ -f result.txt ]; then
        rm result.txt
fi

touch result.txt

#
#

        for switch in `seq 1 $nb_switchs`
        do
                #On recupere l'ip du switch
                ip_switch=${ip[$switch]}

                #On efface les (ex)logs
                rm repd.txt
                rm reph.txt

                echo "switch $ip_switch"

                #On recupere les reponses des 2 questions (changer les oids suivant votre equipements!!)
                snmpwalk -c public -v 2c $ip_switch .1.3.6.1.2.1.17.4.3.1.2.0 >> repd.txt
                snmpwalk -c public -v 2c $ip_switch .1.3.6.1.2.1.17.4.3.1.1 >> reph.txt


                #On lit le fichier repd.txt
                i=1
                while read ligne
                do
                        port[$i]=${ligne: -2}
                        i=`expr $i + 1`
                done < repd.txt

                #On lit le fichier reph.txt
                i=1
                while read ligne
                do
                        #Traitement des donnees recuperation ports et adresses mac
                        mac[$i]=${ligne: -19}
                        mac_tmp=${mac[$i]}
                        mac[$i]=${mac_tmp:0:17}
                        i=`expr $i + 1`
                done < reph.txt

                nb_entrees=`expr $i - 1`


                #On parcours le tableau des ports afin d'eviter le spanning tree
                for i in `seq 1 $nb_entrees`
                do
                        port_affiche[$i]=1
                        for j in `seq 1 $nb_entrees`
                        do
 if [ $j -ne $i ]; then
                                        tmp_port1=${port[$j]}
                                echo "port1:$tmp_port1"
                                        tmp_port2=${port[$i]}

                                echo "port2:$tmp_port2"
                                        if [ $tmp_port1 -eq $tmp_port2 ]; then
                                                port_affiche[$i]=0
                                        fi
                                fi
                        done
                done


                #On affiche les ports etant unique les reponses seront dans result.txt
                for i in `seq 1 $nb_entrees`
                do
                        affiche=${port_affiche[$i]}
                        if [ $affiche -eq 1 ]; then
                                echo "IP switch ==>$ip_switch  Port : ${port[$i]} => MAC : ${mac[$i]}" >> result.txt
                        fi
                done
        done 
0
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 17
21 avril 2009 à 11:45
up!!
0
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 17
21 avril 2009 à 16:32
personne pour m'aider ??????
0
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 17
23 avril 2009 à 14:21
????????????????
0