Script récupération de port

specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   -  
specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   -
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 !!
Configuration: Windows XP
Firefox 3.0.8

4 réponses

  1. specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   17
     
    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
  2. specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   17
     
    up!!
    0
  3. specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   17
     
    personne pour m'aider ??????
    0
  4. specimen35 Messages postés 342 Date d'inscription   Statut Membre Dernière intervention   17
     
    ????????????????
    0