Polecenie Windows, aby wyświetlić wszystkie adresy IP


31

Wiem, że jest jeden wiersz polecenia i jego argumenty, które mogą pomóc wyświetlić wszystkie adresy IP komputera (te, które są używane) w sieci LAN, a mój komputer jest również klientem, jak jeden z wyświetlanych, ale zapomniałem. Co to jest?


Nie sądzę, że jest to możliwe w tak ogólny sposób.
— theglauber,

Będziesz musiał pingować skan lokalnej podsieci, a następnie użyć polecenia arp -a wymienionego poniżej.
— cpt_fink


Lepiej sprawdzić cały adres IP za pomocą „Angry IP address”.
— vembutech

Odpowiedzi:


28

Możesz wykonać arp -apolecenie, aby wyświetlić wszystkie wpisy ARP w tabeli dotyczące komputerów w sieci.

Źródło


6
Pokazuje każdy system, z którym twój komputer jest świadomy / z którym rozmawiał - jednak może nie być kompletny - przeprowadziłem szybki eksperyment z arp -a i nie pokazałem jednego lub dwóch moich systemów, dopóki go nie pingowałem.
— Journeyman Geek

Tak, jak powiedział link, który napisałem, nie pokaże wszystkiego, chyba że ma je zapisane w tabelach, więc maszyny nie będą pokazywane, ale robi całkiem niezłą listę.
— GigabitP,

Welcone do Stack Exchange, Gigabit Pony! Kiedy link stanowi większość twojej odpowiedzi, powinieneś zawsze cytować ważne części, na wypadek gdyby umarł później. Zobacz także howto na temat pisania dobrych odpowiedzi .
— Blacklight Shining

21

Nie wszystko z adresem IP to komputer - nie znalazłem żadnej z tych sugestii, która zwróciła wszystkie aktywne adresy IP - w rzeczywistości większość zwróciła bardzo niewiele. Moja domowa sieć ma połączenie urządzeń przewodowych i bezprzewodowych oraz dwóch routerów, telefonów komórkowych, telewizji, PVR, Apple AirPort i prawdopodobnie kilku rzeczy, o których zapomniałem. Użyłem następujących do skanowania wszystkich adresów w podsieci 192.168.1.xxx:

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

Wynikowy plik ipaddress.txt zawiera wyniki ping dla wszystkich adresów i szukałem tych z „ Received = 1” - obecnie 16 adresów zwróciło wynik - mam tylko 4 komputery w domu - i nie wszystkie były włączone.


Sugerowany edit (wycofana) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txtma zasługi, ale nie jest podstawą do odpowiedzi, nie są zgodne z resztą odpowiedzi, które wykorzystywane Received = 1zamiast bytes=32, i niekoniecznie jest sposobem bym zrobił. Dodam ten komentarz, jeśli ktokolwiek uzna sugestię za przydatną.
— Clifford

1
for /L %i in (1,1,254)może być bardziej odpowiednie, ponieważ xxxxxx.0jest to adres całej sieci i xxxxxx.255adres rozgłoszeniowy.
— Scott,

13

Istnieje net view /allpolecenie, które wyświetli listę wszystkich nazw komputerów podłączonych do tej samej sieci LAN.

Następnie możesz pobrać poszczególne adresy IP za pomocą nslookup <computer name>polecenia lub napisać skrypt wsadowy, aby to zrobić za Ciebie.

Oto przykładowa partia, którą zrzuciłam dla zilustrowania.

@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

5

Oprócz arp -a, net view /alllub napisanie skryptu wsadowego nie ma natywny / wbudowany w wierszu polecenia, aby to zrobić (przynajmniej nie o tym nie wiem).

Jeśli chcesz użyć komendy innej niż natywna, sugeruję użycie Nmapa . Możesz uruchomić nmap -sn 192.168.0.0/24(zastępując podsieć odpowiednią do swojej sieci LAN), aby osiągnąć to, czego szukasz, bardziej niezawodnie niż net view /alllub arp -amoim zdaniem.


1

ipconfig /all (użyj ukośnika do przodu, a nie do tyłu)


20
ipconfig zawiera listę interfejsów samego komputera, a nie adresów IP używanych w sieci LAN.
— Christian

1

Jak wskazał ktoś inny, możesz arp -ajednak użyć najpierw pingowania adresu rozgłoszeniowego, aby ARP zgłosił wszystkie urządzenia. Na przykład,ping 192.168.0.255

otrzymasz listę wszystkich urządzeń podłączonych do sieci według ich adresów IP i MAC. możesz wyszukać adresy MAC na stronie takiej jak https://aruljohn.com/mac.pl, aby dowiedzieć się, kto jest sprzedawcą karty sieciowej. Powinno to pomóc ci zawęzić zakres większości urządzeń. tj. komputery, drukarki, telewizor, telefon komórkowy itp.



0

To jest moje szybkie rozwiązanie. Informuje, jaki typ urządzenia jest podłączony do każdego adresu IP:

netstat -r 

0

wyświetl wszystkie adresy IP komputerów (te, które są używane)

Myślę, że możesz powiedzieć, że netstat -adaje to ci aktywną listę. Jeśli chcesz poznać program za pomocą adresu IP, użyj netstat -b(otwórz jako administrator).


Technicznie rzecz biorąc, netstat -azrzuca listę bieżących połączeń sieciowych. Lewa kolumna adresu IP zawiera interfejs lokalny.
— Ben N
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.