Commande Windows pour afficher toutes les adresses IP

31

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

Bé Vú Sữa 1
la source
Je ne pense pas que cela soit possible d'une manière aussi générique.
theglauber
Vous devrez effectuer une analyse ping du sous-réseau local, puis utiliser la commande arp -a répertoriée ci-dessous.
cpt_fink
Il est préférable de vérifier toutes les adresses IP en utilisant «Adresse IP en colère».
vembutech

Réponses:

28

Vous pouvez exécuter la arp -acommande pour afficher toutes les entrées ARP du tableau concernant les ordinateurs de votre réseau.

La source

GigabitP
la source
6
Cela montre tous les systèmes dont votre ordinateur est au courant / à qui vous avez parlé - cependant, ce n'est peut-être pas complet - j'ai exécuté une expérience rapide avec arp -a et il n'a pas montré un ou deux de mes systèmes jusqu'à ce que je le fasse cingler.
Journeyman Geek
Ya, comme le lien que j'ai posté a dit, il ne montrera pas tout sauf s'il les a stockés dans les tables afin que les machines ne soient pas affichées mais cela fait une assez bonne liste.
GigabitP
Welcone à Stack Exchange, Gigabit Pony! Lorsqu'un lien constitue l'essentiel de votre réponse, vous devez toujours citer les parties importantes au cas où il mourrait plus tard. Voir aussi le howto sur la rédaction de bonnes réponses .
Blacklight Shining
21

Tout ce qui a une adresse IP n'est pas un ordinateur - je n'ai trouvé aucune de ces suggestions qui renvoyait toutes les adresses IP actives - en fait, la plupart n'en renvoyaient que très peu. Mon réseau domestique a une combinaison d'appareils filaires et sans fil et de deux routeurs, téléphones mobiles, TV, PVR, Apple AirPort et probablement quelques petites choses que j'ai oubliées. J'ai utilisé ce qui suit pour analyser 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 de 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 dans la maison - et ils n'étaient pas tous allumés.

Clifford
la source
Une modification suggérée (annulée) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txta du mérite, mais n'est pas fondamentale pour la réponse, n'est pas cohérente avec le reste de la réponse qui l'a utilisée Received = 1plutôt que bytes=32, et n'est pas nécessairement la façon dont je l'aurais fait. J'ajoute ce commentaire si quelqu'un trouve la suggestion utile.
Clifford
1
for /L %i in (1,1,254)pourrait être plus approprié, car il xxxxxx.0s'agit de l'adresse de l'ensemble du réseau et de xxxxxx.255l'adresse de diffusion.
Scott
13

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

De là, vous pouvez récupérer les adresses IP individuelles à l'aide de la nslookup <computer name>commande ou écrire un script de commandes pour le faire pour vous.

Voici un exemple de lot que j'ai jeté ensemble 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
David Ruhmann
la source
5

Mis à part arp -a, net view /allou l' écriture d' un script batch il n'y a pas natif / intégré ligne de commande pour le faire (au moins pas que je sache).

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

Drew Chapin
la source
1

ipconfig /all (utilisez une barre oblique, pas en arrière)

Unnikrishnan
la source
20
ipconfig répertorie les interfaces du PC lui-même et non les adresses IP utilisées sur le LAN.
Christian
1

Comme indiqué par quelqu'un d'autre, vous pouvez arp -acependant vous assurer que vous cochez d'abord une adresse de diffusion afin que ARP signale tous les périphériques. 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 savoir qui est le fournisseur de la carte réseau. Cela devrait vous aider à préciser la plupart des appareils. ie ordinateurs, imprimantes, TV, téléphone portable, etc.

Sean
la source
0
echo ls %USERDNSDOMAIN%|nslookup
Eric Douglas Miller
la source
8
Bienvenue chez SU. Pouvez-vous expliquer ce que fait la commande?
Martin Prikryl
0

Ceci est ma solution rapide. Il vous indique quel type d'appareil est connecté à chaque adresse IP:

netstat -r 
DR WHO
la source
0

afficher toutes les adresses IP des ordinateurs (celles qui sont utilisées)

Je pense que vous pourriez vouloir dire que netstat -acela vous donne une liste active. Si vous voulez connaître le programme en utilisant l'adresse IP, utilisez netstat -b(ouvrir en tant qu'administrateur).

TarranJones
la source
Techniquement parlant, netstat -avide une liste des connexions réseau actuelles. La colonne d'adresse IP de gauche contient l'interface locale.
Ben N