50 votes

La commande Windows pour afficher toutes les adresses IP

Je sais qu'il y a une seule ligne de commande et ses arguments qui peuvent aider à afficher toutes les adresses IP d'ordinateur (celles qui sont utilisées) sur un LAN, et mon ordinateur est également un client, comme l'un de ceux affichés, mais j'ai oublié. Quelle est-elle?

39voto

GigabitP Points 351

Vous pourriez exécuter la commande arp -a pour afficher toutes les entrées ARP dans le tableau des ordinateurs de votre réseau.

Source

36voto

SRO Points 1956

Pas tout ce qui a une adresse IP est un ordinateur - Je n'ai trouvé aucune de ces suggestions qui renvoyait toutes les adresses IP actives - en fait la plupart renvoyaient très peu. Mon réseau domestique est composé de dispositifs filaires et sans fil et de deux routeurs, téléphones mobiles, TV, PVR, Apple AirPort et probablement quelques choses que j'ai oubliées. J'ai utilisé ce qui suit pour scanner toutes les adresses sur le sous-réseau 192.168.1.xxx:

for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt

Le fichier résultant ipaddress.txt contient les résultats du ping pour toutes les adresses et j'ai cherché ceux avec "Received = 1" - actuellement 16 adresses ont renvoyé un résultat - je n'ai que 4 ordinateurs à la maison - et ils n'étaient pas tous allumés.

12voto

David Ruhmann Points 1249

Il existe la commande net view /all qui répertorie tous les noms d'ordinateurs connectés au même réseau local (LAN).

À partir de là, vous pouvez récupérer les adresses IP individuelles en utilisant la commande nslookup ou écrire un script batch pour le faire pour vous.

Voici un exemple de script batch que j'ai réalisé pour illustrer.

@echo off
setlocal EnableDelayedExpansion
set "xNext="
set "xComputer="
for /f %%A in ('net view /all') do (
    set "xComputer=%%~A"
    if "!xComputer:~0,2!"=="\\" for /f "tokens=2,* delims=. " %%X in ('nslookup %%A') do (
        if "!xNext!"=="1" (
            echo.!xComputer! = %%X.%%Y
            set "xNext=0"
        )
        if "!xComputer:~2!"=="%%~X" set "xNext=1"
    )
)
endlocal
pause

9voto

user2428118 Points 383

En dehors de arp -a, net view /all, ou de l'écriture d'un script batch, il n'existe pas de commande en ligne native pour le faire (du moins pas à ma connaissance).

Si vous êtes prêt à utiliser une commande non native, je vous recommande d'utiliser Nmap. Vous pouvez exécuter nmap -sn 192.168.0.0/24 (en remplaçant le sous-réseau par celui approprié pour votre LAN) pour obtenir ce que vous recherchez, de manière plus fiable que net view /all ou arp -a à mon avis.

7voto

y_159 Points 165

Comme indiqué par quelqu'un d'autre, vous pouvez utiliser arp -a, mais assurez-vous de pinguer d'abord une adresse de diffusion pour que ARP signale tous les appareils. Par exemple, ping 192.168.0.255

vous obtenez une liste de tous les appareils connectés au réseau par leurs adresses IP et MAC. vous pouvez rechercher les adresses MAC sur un site Web comme https://aruljohn.com/mac.pl pour découvrir quel est le fabricant de la carte NIC. Cela devrait vous aider à identifier la plupart des appareils, c'est-à-dire les ordinateurs, les imprimantes, la télévision, les téléphones portables, etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X