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


31

Я знаю, что есть одна строка команды и ее аргументы, которые могут помочь отобразить все IP-адреса компьютеров (те, которые используются) в локальной сети, и мой компьютер также является клиентом, как один из отображаемых, но я забыл. Что это такое?


Я не думаю, что это возможно таким общим способом.
theglauber

Вам нужно будет выполнить ping-сканирование локальной подсети, а затем использовать команду arp -a, указанную ниже.
cpt_fink


Лучше проверить все IP-адреса, используя «Angry IP address».
vembutech

Ответы:


28

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

Источник


6
Он показывает каждую систему, о которой ваш компьютер знает / с которой разговаривал - однако, она может быть неполной - я провел быстрый эксперимент с arp -a, и он не показывал одну или две мои системы, пока не отправил эхо-запрос.
Подмастерье Компьютерщик

Я. Как и ссылка, которую я разместил, она не покажет все, пока не сохранит их в таблицах, поэтому машины не будут отображаться, но список будет довольно хорошим.
GigabitP

Добро пожаловать в стек, Gigabit Pony! Когда ссылка составляет большую часть вашего ответа, вы всегда должны цитировать важные части на случай, если она умрет позже. Смотрите также инструкции по написанию хороших ответов .
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-адреса содержит локальный интерфейс.
Бен N
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.