2016-06-28 3 views
2

Я пытаюсь написать командный файл, который дает мне IP обратно, но я просто знаю, что MAC адресПолучить IP с просто зная MAC адрес

arp -a 

не будет работать для меня, потому что я никогда не пингуется это IP до. Я хочу найти его в сети, буквально зная MAC-адрес.

Информация: IP-адрес статический.

ответ

2
for /f "skip=3 delims=\" %%A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %%A >> "%userprofile%\desktop\computerlist.txt" 

Включенные списки компьютеров.

wmic /node:@computerlist.txt nicconfig where macaddress='whatever:whatever:etc' get ipaddress /format:htable 

Чтобы получить IP-адрес для указанного MACADDRESS

wmic /node:@computerlist.txt nicconfig get ipaddress /format:htable 

получить IPAddress для всех MACAddresses на компьютере.

+0

Я не знаю, является ли это окончательным решением. Я могу сказать это, надеюсь, завтра. Но на данный момент у меня возникает вопрос: первая команда проходит через все и сохраняет ее в документе .txt. С этим я мог бы просто пропустить арп-таблицу, или лучше не? И почему? – JetStream

2

Редактировать: только что понял, где находится Windows. К сожалению, нет собственного способа для ping на адресах braodcast с Windows, но вы можете использовать трюк от this answer: FOR /L %i in (1,1,255) do @ping -n 1 192.168.1.%i | find "Reply". Это кажется супер медленным, хотя.

Предыдущий ответ ниже.


Насколько я знаю, вы должны заполнить свой кеш ARP, чтобы делать то, что хотите.
This answer - это то, что вам нужно.

В пост говорит, вы можете:

  • пинг всех хостов вашей локальной сети пингом свой широковещательный адрес (ping -b -c1 192.168.1.255, замените IP на ваш фактический адрес вещания)
  • Fping всю сеть (fping -a -g 192.168.1.0/24 заменить с фактической маской подсети)
  • Nmap сеть (nmap -sP 192.168.1.0/24)
  • NBTSCAN (окна хозяйничает только nbtscan 192.168.1.0/24)

А затем найдите свой кеш ARP.

0

Я не являюсь пользователем пакета, поэтому я не знаю команд, но я знаю, как это сделать, это отправка запроса на широковещательный запрос ping в сеть ur и проверка адреса mac из ответа с помощью wirehark.

0

Я помню, что sachadee разместил этот код ScanIP-MAC.bat

@echo off 
Title Scan for IP and MAC Adress on LAN 
mode con cols=60 lines=20 
Color A 
set ip=192.168.1.1 
set debut=1 
set fin=10 
if exist ping.txt (del ping.txt) 
if exist ping2.txt (del ping2.txt) 
if exist ping3.txt (del ping3.txt) 
if exist ping4.txt (del ping4.txt) 
for /L %%i in (%debut%,1,%fin%) do (echo Recherche de la machine : %ip:~0,9%.%%i 
    for /f "tokens=5 delims= " %%f in ('ping -4 -n 1 %ip:~0,9%.%%i ^|find /i "32"') do (echo %%f >> ping.txt 
    ) 
     for /f "tokens=1 delims= " %%k in ('Type ping.txt ^|findstr /i "19"') do echo %%k > ping2.txt 
      for /f %%l in (ping2.txt) do (arp -a %%l >> ping3.txt 
     ) 
      ) 
Cmd /U /C Type ping3.txt > ping4.txt 
Del ping.txt 
Del ping2.txt 
Del ping3.txt 
Start ping4.txt 
2

Предполагая, ваша подсеть 192.168.1.ххх

@echo off 
REM clear arp cache (optional): 
arp -d 
REM ask everybody on the subnet for a response: 
for /l %%a in (1,1,255) do start /b ping -n 2 -w 500 192.168.1.%%a >nul 
REM wait for the processes to finish: 
timeout 2 >nul 
REM show the responses (with IP and MAC): 
arp -a 

Когда вы нашли IP, вы можете попытаться разрешить имя компьютера с:

ping -a -n 1 192.168.1.xxx 

Редактировать нашел способ ускорить его.

Смежные вопросы