Windows-Befehl zum Anzeigen aller IP-Adressen

31

Ich weiß, dass es eine einzige Zeile eines Befehls und seiner Argumente gibt, die dazu beitragen können, alle Computer-IP-Adressen (die in einem LAN verwendet werden) anzuzeigen, und mein Computer ist auch ein Client, wie einer der angezeigten, aber ich habe es vergessen. Was ist es?

Bé Vú Sữa 1
quelle
Ich denke nicht, dass dies auf solch generische Weise möglich ist.
theglauber 20.12.12 um 17:41
Sie müssten das lokale Subnetz ping-scannen und dann den unten aufgeführten Befehl arp -a verwenden.
cpt_fink
Es ist besser, die gesamte IP-Adresse mit "Angry IP-Adresse" zu überprüfen.
Vembutech

Antworten:

28

Sie können den arp -aBefehl ausführen , um alle ARP- Einträge in der Tabelle zu Computern in Ihrem Netzwerk anzuzeigen.

Quelle

GigabitP
quelle
6
Es zeigt jedes System an, von dem Ihr Computer Kenntnis hat / mit dem er gesprochen hat - es ist jedoch möglicherweise nicht vollständig -. Ich habe ein kurzes Experiment mit arp -a durchgeführt und ein oder zwei meiner Systeme nicht angezeigt, bis ich einen Ping-Befehl gesendet habe.
Geselle Geek
Ja, wie der Link, den ich gepostet habe, sagte, es wird nicht alles angezeigt, es sei denn, es hat sie in den Tabellen gespeichert, so dass Maschinen nicht angezeigt werden, aber es macht eine ziemlich gute Liste.
GigabitP
Willkommen zu Stack Exchange, Gigabit Pony! Wenn ein Link den größten Teil Ihrer Antwort ausmacht, sollten Sie immer die wichtigen Teile angeben, falls er später stirbt. Siehe auch die Anleitung zum Schreiben guter Antworten .
Blacklight Shining
20

Nicht alles mit einer IP-Adresse ist ein Computer - ich fand keinen dieser Vorschläge, der alle aktiven IP-Adressen zurückgab - tatsächlich gaben die meisten sehr wenige zurück. Mein Heimnetzwerk besteht aus einer Kombination aus drahtgebundenen und drahtlosen Geräten und zwei Routern, Mobiltelefonen, Fernseher, Videorecorder, Apple AirPort und wahrscheinlich ein paar Dingen, die ich vergessen habe. Ich habe Folgendes verwendet, um alle Adressen im Subnetz 192.168.1.xxx zu scannen:

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

Die resultierende Datei ipaddress.txt enthält die Ping-Ergebnisse für alle Adressen und ich suchte nach denen mit " Received = 1" - derzeit haben 16 Adressen ein Ergebnis zurückgegeben - ich habe nur 4 Computer im Haus - und sie waren nicht alle eingeschaltet.

Clifford
quelle
Ein Vorschlag bearbeiten (Rollback) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txthat Verdienst, ist aber auf die Antwort nicht von grundlegender Bedeutung, nicht mit dem Rest der Antwort konsistent , die verwendeten Received = 1statt bytes=32und ist nicht unbedingt so , wie ich es getan hätte. Ich füge diesen Kommentar hinzu, falls jemand den Vorschlag nützlich findet.
Clifford
1
for /L %i in (1,1,254)ist möglicherweise besser geeignet, da dies xxxxxx.0die Adresse des gesamten Netzwerks und xxxxxx.255die Broadcast-Adresse ist.
Scott,
13

Es gibt den net view /allBefehl, der alle Computernamen auflistet, die mit demselben LAN verbunden sind.

Von dort aus können Sie die einzelnen IP-Adressen mit dem nslookup <computer name>Befehl abrufen oder ein Batch-Skript schreiben, das dies für Sie erledigt.

Hier ist ein Beispielsatz, den ich zur Veranschaulichung zusammengestellt habe.

@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
quelle
5

Abgesehen von arp -a, net view /alloder dem Schreiben eines Stapelskripts gibt es keine native / integrierte Befehlszeile, um dies zu tun (zumindest nicht, was ich kenne).

Wenn Sie bereit sind, einen nicht nativen Befehl zu verwenden, würde ich die Verwendung von Nmap vorschlagen . Sie können nmap -sn 192.168.0.0/24das Subnetz ausführen (indem Sie es durch das für Ihr LAN geeignete ersetzen), um das zu erreichen, was Sie suchen, und zwar zuverlässiger als net view /alloder arp -ameiner Meinung nach.

Drew Chapin
quelle
2

ipconfig /all (Verwenden Sie den Schrägstrich vorwärts, nicht rückwärts)

Unnikrishnan
quelle
18
ipconfig listet die Schnittstellen des PCs selbst auf und nicht die im LAN verwendeten IP-Adressen.
Christian
0
echo ls %USERDNSDOMAIN%|nslookup
Eric Douglas Miller
quelle
8
Willkommen in SU. Können Sie bitte erläutern, was der Befehl bewirkt?
Martin Prikryl
0

Das ist meine schnelle Lösung. Hier erfahren Sie, welcher Gerätetyp an jeder IP-Adresse angeschlossen ist:

netstat -r 
DR. WER
quelle
0

Alle verwendeten Computer-IP-Adressen anzeigen

Ich denke du meinst vielleicht, netstat -adas gibt dir eine aktive Liste. Wenn Sie das Programm anhand der IP-Adresse kennen möchten, verwenden Sie netstat -b(als Administrator öffnen).

TarranJones
quelle
Technisch gesehen wird netstat -aeine Liste der aktuellen Netzwerkverbindungen erstellt. Die linke Spalte der IP-Adresse enthält die lokale Schnittstelle.
Ben N
0

Wie von jemand anderem angegeben, können Sie arp -ajedoch sicherstellen, dass Sie zuerst eine Broadcast-Adresse anpingen, damit ARP alle Geräte meldet. Zum Beispiel,ping 192.168.0.255

Sie erhalten eine Liste aller Geräte, die über ihre IP- und MAC-Adresse mit dem Netzwerk verbunden sind. Sie können die MAC-Adressen auf einer Website wie https://aruljohn.com/mac.pl nachschlagen, um herauszufinden, wer der Hersteller der Netzwerkkarte ist. Dies sollte Ihnen helfen, die meisten Geräte einzugrenzen. dh Computer, Drucker, Fernseher, Handy usw.

Sean
quelle