我正在尝试写一个批处理文件,它给了我一个IP回来,但我只知道MAC地址
arp -a
不会为我工作,因为我以前从未ping过那个IP。我想在网络中搜索它,只需知道MAC地址。
信息:IP是静态的。
答案 0 :(得分:2)
编辑:刚刚意识到你在Windows上的位置。遗憾的是,没有本地方法可以使用Windows对braodcast地址执行ping操作,但您可以使用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
ping您局域网的所有主机,用实际广播地址替换IP)fping -a -g 192.168.1.0/24
,替换为您的实际网络掩码)nmap -sP 192.168.1.0/24
)nbtscan 192.168.1.0/24
)然后在你的ARP缓存中查找。
答案 1 :(得分:2)
假设您的子网是192.168.1.xxx
@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
编辑找到了加快速度的方法。
答案 2 :(得分:1)
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
获取指定MACAddress的IP
wmic /node:@computerlist.txt nicconfig get ipaddress /format:htable
获取计算机上所有MAC地址的IP地址。
答案 3 :(得分: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
答案 4 :(得分:-1)
我不是批处理用户所以我不知道命令,但我知道这样做的方法是向你的网络发送广播ping请求,并使用wireshark检查来自回复的mac地址。