Qui est sur mon réseau ?

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 :

apt-get install fping iputils-arping

Ensuite il faut créer un fichier ip_mac_nom.sh et entrer le code suivant :

#!/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"

 

Rendez ce script exécutable par :

chomod +x ip_mac_nom.sh

Exécutez ensuite ce script en root par :

./ip_mac_nom.sh

Un fichier de sortie vous donnera alors tous les renseignements voulus

Comments

Laisser un commentaire