Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script bash pour récupérer table Mac d'un switch

6 juin 2013 à 9:12:23

Bonjour,

Je dois créer un script qui me permette de générer en fichier.txt les adresses mac de chaque interface d'un switch. Je ne sait pas comment faire et j'ai besoin de votre aide.

J'ai deux fichiers, le premier contient l'adresse IP de tous les switchs du réseau il s'appelle base.txt:

128.1.30.112

128.1.30.126

Le deuxième fichier est le script en lui-même, voici ce que j'ai réussi à faire :

#!/bin/bash

adresse=`cut -d , -f 1 base.txt`

for i int `cat base.txt`

  • Partager sur Facebook
  • Partager sur Twitter
6 juin 2013 à 10:17:09

J'ai fait un truc du genre une fois. Je me suis servit de Perl pour envoyer des requêtes SNMP au switch. Ca doit être possible en bash aussi je pense.

Sinon, si tu veux pas SNMP, tu peux bricoler un truc avec des pings et la table ARP : Tu ping chaque IP pour avoir l'entrée dans la table ARP et tu te sers de la commande "arp -a" pour avoir les adresses MAC que tu traite avec ton script bash

  • Partager sur Facebook
  • Partager sur Twitter
6 juin 2013 à 10:32:33

Tout d'abord merci de ta réponse, le problème c'est que je suis vraiment débutante en scripting et ce que j'aimerais mettre dans mon script c'est la commande show mac address-table. Mais je ne sais pas comment dire au script d'exécuter cette commande sur le switch qui à l'adresse IP qui se trouve dans le fichier base.txt. Pourrais-tu m'aider s'il te plaît ?
  • Partager sur Facebook
  • Partager sur Twitter
6 juin 2013 à 23:09:00

Comme le fait remarquer elalitte, tu peux pas simplement faire cette commande depuis ton script bash. Il faut que tu te connecte sur ton switch d'une manière ou d'une autre.

Je pense que le plus simple pour toi, c'est de comprendre un peu le protocole SNMP qui permet de demander des infos à un switch depuis linux (par exemple) en ligne de commande (et donc en script).

Une fois que tu as activé SNMP sur ton switch et installer un petit client SNMP sur ton Linux, c'est plutot simple niveau script. 

La difficulté est donc SNMP mais on a rien sans rien :-D Il fait peur à première vu mais y'a rien de bien compliqué.

L'adresse MAC correspond à une certaine MIB = numero ou nom de l'information que tu veux demander à ton switch que tu met dans une requête SNMP. Le switch te répond en donnant son adresse MAC et t'en fait ce que tu veux après.

https://fr.wikipedia.org/wiki/Simple_Network_Management_Protocol

http://doc.ubuntu-fr.org/snmp

  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2013 à 17:39:42

for i in 91.206.199.{1..20}
        do
                if ! arping -c 3 $i | grep "Unicast reply from" > /dev/null
                then
                        echo $i libre
                        echo $i >> echoues.txt
                else
                        arping -c 1 $i > inter.txt
                        sed '1d;3d;4d' inter.txt >> succes.txt
                fi
        done
cut -d" " -f4,5 < succes.txt >> succes2.txt
Dans le fichier echoues tu as tes adresses qui ont pas repondu, dans succes2 l adresse avec sont adresse MAC.
Te faut changer la plage d'adresse
ah et un petit rm succes2.txt succes.txt inter.txt echoues.txt au debut de ton script te permettra de les reinitialiser
  • Partager sur Facebook
  • Partager sur Twitter
30 octobre 2013 à 17:47:30

for i in 91.206.199.{1..20}
        do
                if ! arping -c 3 $i | grep "Unicast reply from" > /dev/null
                then
                        echo $i libre
                        echo $i >> echoues.txt
                else
                        arping -c 1 $i > inter.txt
                        sed '1d;3d;4d' inter.txt >> succes.txt
                fi
        done
cut -d" " -f4,5 < succes.txt >> succes2.txt
Dans le fichier echoues tu as tes adresses qui ont pas repondu, dans succes2 l adresse avec sont adresse MAC.
Te faut changer la plage d'adresse
ah et un petit rm succes2.txt succes.txt inter.txt echoues.txt au debut de ton script te permettra de les reinitialiser
  • Partager sur Facebook
  • Partager sur Twitter
29 juin 2022 à 14:32:32

Bonjour,

Aidez moi svp, j'aimerais savoir comment exploiter et reccuperer les données d'un serveur via un "lien" de WEBSERVICCE par un script bash.

merci pour toutes réponse favorable!

  • Partager sur Facebook
  • Partager sur Twitter
29 juin 2022 à 15:50:25

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)