Vous souhaitez savoir quelles sont les machines qui sont sur votre réseau ? Le petit script qui suit vous permet de :
- Trouver les IP de toutes les machines allumées
- Trouver les adresses MAC
- Trouver les noms d’hotes des machines
Il faut tout d’abord installer fping et iputils-arping :
[pastacode provider= »manual » lang= »bash »]
apt-get install fping iputils-arping
[/pastacode]
Ensuite il faut créer un fichier ip_mac_nom.sh et entrer le code suivant :
[pastacode provider= »manual » lang= »bash »]
#!/bin/bash
## installer fping et iputils-arping
## Definition des variables à modifier suivant votre reseau
monreseau="home"
ir="wlan0"
ip_reseau="192.168.1.0/24"
## Commande
cmdarping='arping -I '$ir' -c 1'
## inscription dans fping
fping -g $ip_reseau 2>/dev/null | grep alive > fping
## suppression des "is alive" et inscription dans ipreseau
perl -ne 'print "$1\n" if m/((\d{1,3}\.){3}\d{1,3})/' < fping > ipreseau
echo "Fin de création du fichier des ip du réseau"
## Création fichier de sortie
date=$(date +%Y-%m-%d)
touch $date"_machines".$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)
nslookup $ligne |awk -F"= " '/name/{print $2}' > tempnom
nom=$(sed -e 's/[[]//' -e 's/[]]//' tempnom)
echo "$mac # $ligne # $nom" >> $date"_machines".$monreseau
rm -f tempmac
rm -f arping1
rm -f tempnom
done
rm -f fping
rm -f ipreseau
echo "Fin du script"
[/pastacode]
Rendez ce script exécutable par :
[pastacode provider= »manual » lang= »bash »]
chomod +x ip_mac_nom.sh
[/pastacode]
Exécutez ensuite ce script en root par :
[pastacode provider= »manual » lang= »bash »]
./ip_mac_nom.sh
[/pastacode]
Un fichier de sortie vous donnera alors tous les renseignements voulus
Ouaip, pas mal du tout…
Je me suis même fait un lanceur dans « Internet » (Categories=Network)
Je suis sous Lubuntu
Hum, intéressant !
Moi qui viens de monter un réseau pour une colloc’, ça peut s’avérer pratique. Même si IPcop qui gère mon réseau doit déjà pouvoir me dire qui est actuellement connecté, là la technique est bien rapide !