Tuto : Récupérer les adresses MAC pour la fonction WOL
Aujourd'hui je regardais les stats de Kookyoo.net et j'ai vu un post du 27 janvier 2007 sur la fonction WoL (Wake On Lan).
Une lecture de l'article s'impose si vous ne savez ce que c'est et que vous êtes curieux ;)
Tuto : Allumer un PC à distance avec la fonction WOL
Donc vous aurez compris que pour allumer un ordinateur il faut quelques prérequis:
- connaître l'adresse MAC de pc cible (à allumer)
- être dans le même réseau (les adresses MAC ne sortent pas du réseau)
Le problème qui va alors ce poser est la connaissance des adesses MAC, si il y a un parc de plus de 30 postes ça va commencer à être lourd !!!
Et si vous en avez encore plus et que vous avez un inventaire (+1) et bien ça va être un peu lourd aussi, cela dépend de votre niveau en programmation et du système évidemment.
Bref, je vais vous aider à récupérer les adresses MAC des pc cibles sans bouger de votre bureau!!!
Etape 1: Prérequis
- Il faut être sous Linux
Etape 2: Utilisation
Il faut être en 'root'.
|
#arping IP_CIBLE -c 1 ARPING IP_CIBLE from MON_IP eth0Unicast reply from MON_IP [AD:RE:SS:E0:MA:C0] 0.725ms Sent 1 probes (1 broadcast(s)) Received 1 response(s) |
Etape 3: Scripting
Il suffit maintenant de faire un script dans le language voulu pour exploiter ce programme et ce faire une petite base de correspondance IP/MAC de son réseau.
Coupler à un plan fait sous Visio/Dia, ça fait un travail propre ;)
Petit exemple pour une classe C en script bash:
#!/bin/bash
## Paramètres
monreseau="192.168.1.X"
## Commande
cmdarping='arping -c 1'
## On écrit dans un fichier toutes les IP du réseau
i='1'
echo $monreseau > ipnet
while [ $i -le 254 ]
do
sed -e "s/X/$i/" ipnet >> ipreseau
((i=$i+1))
done
echo "Fin de création du fichier des ip du réseau"
## Création fichier de sortie
date=$(date +%Y-%m-%d)
touch $date."_macaddress".$monreseau
echo "Fin de création du fichier de sortie"
## Boucle pour les arping et écriture dans le fichier de sortie
cat ipreseau | while read ligne
do
$cmdarping $ligne > arping1
resultcat=$(cat arping1 | grep Unicast)
cat arping1 | awk '/Unicast/ {printf $5}' > tempmac
mac=$(sed -e 's/[[]//' -e 's/[]]//' tempmac)
echo "$ligne - $mac" >> $date."_macaddress".$monreseau
rm -f tempmac
rm -f arping1
done
rm -f ipnet
rm -f ipreseau
echo "Fin du script"
|
Le script est fonctionnel, mais largement améliorable. Je ne vais pas faire tout votre boulot non plus!
Après vous pouvez utiliser votre logiciel pour allumer les pc à distance.
Et si vous êtes motivé, vous pourrez faire une belle interface php pour allumer votre parc et le surveiller..... argh ça existe déjà :S (Nagios).
Bonne journée!
Votez![]() ![]() ![]() | Billets similaires Récupérer les fichiers cryptés sous Windows XP [Linux/MySQL] Récupérer son mot de passe root | Tags recuperer adresses mac wol wakeonlan arping linux | Publicité< |

29 Mai 2008
15:35
29 Mai 2008
16:00
Bref ça peut être utile tout ça, surtout si on est un bon administrateur réseau ^^ (c'est à dire très fainéant), car moins on en fait mieux on se porte...
Donc vive le WOL





Ajouter cette page à mes favoris
Envoyer cet article par mail