Script récupération de port
specimen35
Messages postés
351
Statut
Membre
-
specimen35 Messages postés 351 Statut Membre -
specimen35 Messages postés 351 Statut Membre -
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 !!
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:
- Script récupération de port
- Récupération de déchets - Guide
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Convertisseur récupération de texte - Guide
- Icmp port - Forum Réseau
4 réponses
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