Команда Windows для відображення всіх IP-адрес


31

Я знаю, що є один рядок команди та її аргументи, які можуть допомогти відображати всі локальні ІР-адреси комп’ютера (ті, які використовуються) в локальній мережі, і мій комп'ютер також є клієнтом, як один із цих, що відображаються, але я забув. Що це?


Я не думаю, що це можливо таким загальним способом.
theglauber

Вам доведеться виконати ping-сканування локальної підмережі, а потім скористатися переліченою нижче командою arp -a.
cpt_fink


Краще перевірити всю IP-адресу, використовуючи "Злий IP-адресу".
vembutech

Відповіді:


28

Ви можете зробити це arp -a команду, щоб показати всі записи ARP у таблиці щодо комп'ютерів у вашій мережі.

Джерело


6
Він показує кожну систему, з якою ваш комп'ютер знає / з якою розмовляв - однак, можливо, вона не є повною - я провів швидкий експеримент з arp -a, і вона не показала одну чи дві мої системи, поки я не зафіксував її.
Подорожник Geek

Так, як сказано в посиланні, яке я опублікував, воно не відображатиме все, якщо вони не будуть збережені в таблицях, тому машини не будуть показані, але це дуже гарний список.
GigabitP

Welcone для обміну стеками, гігабітний поні! Коли посилання складає більшість ваших відповідей, завжди слід цитувати важливі частини, якщо вона пізніше помер. Дивіться також рекомендації щодо написання гарних відповідей .
Blacklight Shining

21

Не все з IP-адресою є комп’ютером - я виявив, що жодна з цих пропозицій не повертає всіх активних IP-адрес - насправді більшість повертається дуже мало. У моїй домашній мережі є поєднання дротових та бездротових пристроїв та двох маршрутизаторів, мобільних телефонів, телевізора, PVR, Apple AirPort і, мабуть, кілька речей, які я забув. Я використовував наступні для сканування всіх адрес у підмережі 192.168.1.xxx:

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

Отриманий файл ipaddress.txt містить результати ping для всіх адрес, і я шукав тих, у кого " Received = 1" - зараз 16 адрес повернули результат - у мене є лише 4 комп’ютери - і вони не були всі.


Запропонована редакція (відкликана назад) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txtмає достоїнство, але не є принциповою для відповіді, не відповідає решті відповідей, яка використовувалась, Received = 1а не bytes=32, і не обов'язково є такою, якою я це зробив би. Я додаю цей коментар, якщо хтось вважає, що ця пропозиція є корисною.
Кліффорд

1
for /L %i in (1,1,254)може бути більш доречним, оскільки xxxxxx.0це адреса всієї мережі і xxxxxx.255є адресою широкомовної передачі.
Скотт

13

Існує net view /allкоманда, в якій буде перераховано всі назви комп'ютерів, підключених до однієї локальної мережі.

З цього ви можете отримати окремі IP-адреси за допомогою nslookup <computer name> команди або написати пакетний сценарій, щоб зробити це за вас.

Ось приклад партії, яку я зібрав для ілюстрації.

@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

Крім arp -a,net view /all або написати пакетний сценарій не існує рідний / вбудований в командному рядку , щоб зробити це (принаймні , НЕ то, що я знаю).

Якщо ви готові використовувати не-рідну команду, я б запропонував використовувати Nmap . Ви можете запустити nmap -sn 192.168.0.0/24(заміну підмережі з відповідним вашої локальною мережею) , щоб досягти того, що ви шукаєте, надійніше, ніж net view /allабо arp -aна моєму погляді.


1

ipconfig /all (використовувати нахилену косу рису, а не назад)


20
ipconfig перераховує інтерфейси самого ПК, а не IP-адреси, що використовуються в локальній мережі.
Крістіан

1

Як вказав хтось інший, ви можете використовувати, arp -aпроте переконайтеся, що спочатку надішліть адресу широкомовної програми, щоб ARP повідомляв про всі пристрої. Наприклад,ping 192.168.0.255

ви отримуєте список усіх пристроїв, підключених до мережі за їх IP та MAC адресами. ви можете шукати MAC-адреси на веб-сайті, як-от https://aruljohn.com/mac.pl, щоб дізнатися, хто такий постачальник NIC. Це допоможе вам звузити більшість пристроїв. тобто комп’ютери, принтери, телевізор, мобільний телефон тощо.



0

Це моє швидке рішення. Він повідомляє вам, який тип пристрою підключений за кожною ip-адресою:

netstat -r 

0

відобразити всі IP-адреси комп'ютера (ті, що використовуються)

Я думаю, ви можете сказати, що netstat -aце дає вам активний список. Якщо ви хочете знати програму за допомогою ip адреси, тоді використовуйте netstat -b(відкрийте як адміністратор).


Технічно кажучи, netstat -aскидає список поточних мережевих підключень. Лівий стовпець IP-адреси містить локальний інтерфейс.
Ben N
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.