Scanner un réseau local

Bonjour,

je souhaite mettre en place un serveur DHCP et pour cela j’ai besoin de connaitre le nom et les IP des machines ayant une ip fixe pour les renseigner dans la conf de mon serveur DHCP.

Ma question est : Connaissez vous un package,soft ou autre qui pourrait me servir a scanné mon reseau local et qui m’indiquerais le nom et les ip des machines?

Merci

Salut,

Regarde du côté de netdiscover. Sinon tu as la possibilité de scanner des plages avec nmap.

Bonne journée.

Merci. Effectivement j’ai regardé du côté de Nmap qui m’a l’air très puissant mais je n’arrive pas a savoir comment scanné un plage d’IP. en effet j’ai fait :

nmap -sP 192.168.0-255 mais cela ne fonctionne pas. De plus j’ai vi qu’avec l’option -O on peut récupérer l’OS de la machine mais est il possible de récupérer l’hostname?

$ host adresse.ip.cible.viséedevrait te donner son nom (si tu as un DNS digne de ce nom… bien entendu… :wink: )

:smt006

Essaye avec l’option -R (pour forcer la résolution DNS).

http://nmap.org/man/fr/man-host-discovery.html

Sinon pour le range, essaye un truc du type nmap 192.168.1.0/24, mais je suis plus trop sûr. Le mieux étant de regarder ici : http://nmap.org/book/man-target-specification.html (désolé j’ai pas trop envie de fouiller dedans maintenant :wink: )

Sinon, fait un nslookup sur tes adresses pour récupérer le nom.

#!/usr/bin/perl

use strict;
use Switch;
use Net::Ping;

# Initialisation

sub sizetot ()
{
  return `stty -a | grep columns | cut -d ' ' -f7 | tr -d ';'` - 7;
}

my $nb = 0;
my $boucle = 0;
my $ping = Net::Ping->new("icmp", 0.3);

my $pourcent = 0;
my $bar = "[]";
my $size = 0;

$|++;

# Déroulement
print "Scan des ordinateurs :\n";

print "$bar";
foreach my $i ( 1 .. 254 ){
  $size=$i/254*sizetot();
  $pourcent=int($size/sizetot()*100);
  my $u = length($bar) + 5;
  if ($pourcent > 9){
    ++$u;
  }

  if ($ping->ping("192.168.1.".$i)){
    ++$nb;
    print "\b" x $u;
    print " " x ($u + 1);
    print "\b" x ($u + 1);
    print "192.168.1.$i\n";
  }

  print "\b" x $u;
  print " " x ($u + 1);
  print "\b" x ($u + 1);
  $bar = ("=" x $size);
  print "[$bar>]$pourcent%";
}
$ping->close();

print "\nIl y a $nb ordinateurs sur le réseau local.\n";

C’est une oeuvre de Misterfreeze.

Merci a tous. C’est bon pour ce ui est de scanner une plage d’IP :

Merci debianhadic pour le script que je vais testé de ce pas. Par contre pour l’hostname je n’arrive toujours a le récupérer.

L’hostname dépend du fichier /etc/hosts du serveur dhcp, à toi de le remplir avec le couple Numéro IP nom.

Une commande qui pourrait t’intéresser :

arp

À l’avenir, prends l’habitude de documenter ce que tu fais sur ton réseau. Ça peut te faire gagner du temps…

EDIT : si tu trouves ça lourd à faire, penses aux windowsiens qui doivent se taper une longue rédaction ou bien une capture d’écran pour chaque onglet de chaque fenêtre, quand toi tu n’as qu’un fichier de conf à imprimer…

[quote=“kna”]EDIT : si tu trouves ça lourd à faire, penses aux windowsiens qui doivent se taper une longue rédaction ou bien une capture d’écran pour chaque onglet de chaque fenêtre, quand toi tu n’as qu’un fichier de conf à imprimer…[/quote]Et pense aussi à ceux qui doivent pondre des docs pour les windoziens… :smiling_imp: :laughing: :smiling_imp:
(Si il n’y a pas de captures, ça va pas… pas capable de lire… :smiling_imp: )

[size=50]Oui bon, ça n’aide pas vraiment… mais on est presque vendredi non?[/size] … oui oui… je :arrow_right: … je :arrow_right: ( :mrgreen: et non… je ne la rendrai pas la []… :laughing: :mrgreen: :laughing: )

:smt006

Je ne sais pas si cela m’est adressé mais je ne me sens pas trop concerné puisque je commente toujours tous ce que je fais que ce soit au niveau des scripts ou des fichiers de conf c’est une habitude. De plus nous sommes plusieurs a bosser sur les mêmes fichiers donc il vaut mieux afin que les collégues sachent a quoi cela correspond même si on a CVS.