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?
Sie können den Befehl arp -a
ausführen, um alleARPEinträge in der Tabelle zu Computern in Ihrem Netzwerk anzuzeigen.
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 solchen mit "Received = 1
" - derzeit haben 16 Adressen ein Ergebnis zurückgegeben - ich habe nur 4 Computer im Haus - und sie waren nicht alle eingeschaltet.
Es gibt den Befehl net view /all
, der alle Computernamen auflistet, die mit demselben LAN verbunden sind.
Von dort aus können Sie die einzelnen IP-Adressen mit dem Befehl nslookup <computer name>
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
Abgesehen von arp -a
, net view /all
oder dem Schreiben eines Stapelskripts gibt es keine native/integrierte Befehlszeile, um dies zu tun (zumindest weiß ich nichts davon).
Wenn Sie bereit sind, einen nicht nativen Befehl zu verwenden, würde ich vorschlagen, Nmap zu verwenden. Sie können nmap -sn 192.168.0.0/24
ausführen (indem Sie das Subnetz durch das für Ihr LAN geeignete ersetzen), um das zu erreichen, wonach Sie suchen. Meiner Meinung nach ist dies zuverlässiger als net view /all
oder arp -a
.
ipconfig /all
(Schrägstrich verwenden, nicht rückwärts)
echo ls %USERDNSDOMAIN%|nslookup
Wie von einer anderen Person angegeben, können Sie arp -a
verwenden. Stellen Sie jedoch sicher, 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 Anbieter des NIC ist. Dies sollte Ihnen helfen, die meisten Geräte einzugrenzen. d.h. Computer, Drucker, Fernseher, Handy usw.
alle verwendeten Computer-IP-Adressen anzeigen
Ich denke du meinst vielleicht netstat -a
das gibt dir eine aktive Liste. Wenn Sie das Programm anhand der IP-Adresse kennen möchten, verwenden Sie netstat -b
(als Administrator öffnen).
Das ist meine schnelle Lösung. Hier erfahren Sie, welcher Gerätetyp an jeder IP-Adresse angeschlossen ist:
netstat -r