Я знаю, что есть одна строка команды и ее аргументы, которые могут помочь отобразить все IP-адреса компьютера (те, которые используются) в локальной сети, и мой компьютер также является клиентом, как один из отображаемых, но я забыл. Что это?
9 ответов
Вы можете выполнить команду arp -a
чтобы показать все записи ARP в таблице о компьютерах в вашей сети.
Не все с 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 компьютера в доме - и они не все были включены.
Существует команда 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
Кроме arp -a
, net view /all
или написания пакетного скрипта, для этого нет встроенной / встроенной командной строки (по крайней мере, я не знаю).
Если вы хотите использовать не родную команду, я бы предложил использовать Nmap. Вы можете запустить nmap -sn 192.168.0.0/24
(заменив подсеть соответствующей подсетью для вашей локальной сети), чтобы добиться того, что вы ищете, более надежно, чем net view /all
или arp -a
на мой взгляд.
ipconfig /all
(используйте косую черту, а не назад)
echo ls %USERDNSDOMAIN%|nslookup
Как указано кем-то другим, вы можете использовать arp -a
однако сначала убедитесь, что вы пропингуете широковещательный адрес, чтобы ARP сообщал обо всех устройствах. Например, ping 192.168.0.255
вы получите список всех устройств, подключенных к сети по их IP и MAC-адресам. Вы можете найти MAC-адреса на веб-сайте, таком как https://aruljohn.com/mac.pl, чтобы узнать, кто является поставщиком NIC. Это должно помочь вам сузить, что большинство устройств. т.е. компьютеры, принтеры, телевизор, мобильный телефон и т. д.
отобразить все IP-адреса компьютера (те, которые используются)
Я думаю, что вы можете иметь в виду netstat -a
это дает вам активный список. Если вы хотите узнать программу по IP-адресу, используйте netstat -b
(откройте как администратор).
Это мое быстрое решение. Он сообщает вам, какой тип устройства подключен к каждому IP-адресу:
netstat -r