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

  1. 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 !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Etes-vous humain ? * Time limit is exhausted. Please reload CAPTCHA.