Dyrk.org
Do You Really Know

[Linux] Qui est connecté sur mon réseau ?

Publié le 30 janvier 2016 par #Ro0t

300

 

Salut à tous,

 

Je vous écris ce petit billet pour peut-être répondre à un besoin simple … ( faire la même chose que le spartiate là-haut ! )

Bref une petite chose qui peut concerner à la fois  les développeurs, les particuliers bidouilleurs et les administrateurs systèmes ?

 

Comme vous le savez j’aime utiliser et vous faire utiliser des choses qui sont nativement sur vos ordinateurs …

Ce qui vous évite de télécharger tout un tas de saloperies inutiles !

 

Aussi, et je m’adresse tout particulièrement aux Linuxiens !
J’ai développé pour vous un petit script Bash, qui vous retourne la liste des adresses IP utilisées sur votre réseaux, et les noms des machines auxquelles celles-ci sont attachées !

 

En Gros !

 

  • Vous saurez combien de personnes sont connecté sur votre réseau
  • Vous saurez les noms de leurs machines (hostname)

 

Un petit aperçus du résultat ?

 

Screenshot - 01302016 - 05:34:24 PM

 

Pour résumer un peu :
Mon script parcourt vos interfaces réseau et récupère les informations automatiquement …
Ensuite il parcourt un range d’IP !
Il réalise pour chacune des adresses IP un « NSLOOKUP« , si le nslookup retourne un résultat positif on l’affiche.

 

Bref pour un mec qui n’est pas expert, et qui a des besoins simples, avec une configuration type :
« J’ai une box avec une configuration par défaut et moins de 254  machines (pc, smartphone, imprimantes, … ) chez moi »
Ça devrait le faire !

 

[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]

#!/bin/bash


ifconfig | grep "inet addr" | grep "Bcast" | while read line; do
        res=`echo $line | cut -d':' -f2 `
      
        ip1=`echo $res | cut -d'.' -f1`
        ip2=`echo $res | cut -d'.' -f2`
        ip3=`echo $res | cut -d'.' -f3`

        ip=$ip1.$ip2.$ip3. 
        x=1;
        while [ $x -le 255 ]; do
                x=$(( $x + 1 ))
                res=`nslookup $ip$x | grep name`
                if [ "e$res" != "e" ]; then
                        name=`echo $res | cut -d'=' -f2`
                        echo $ip$x  : $name
                fi      
        done
done; 

[/pastacode]

 

On reste là sur de « interrogation DNS », ce qui rend la chose rapide (à la différence de NMAP) .
Néanmoins, si vous ne voyez rien apparaître … ou bien de mauvaises infos

Posez vous les bonnes questions :
Utilisez vous sur les bons DNS ? Avez vous vidé le cache DNS ? …