Windows 只需知道MAC地址即可获得IP
我正试图写一个批处理文件,它给了我一个IP,但我只知道MAC地址Windows 只需知道MAC地址即可获得IP,windows,batch-file,networking,Windows,Batch File,Networking,我正试图写一个批处理文件,它给了我一个IP,但我只知道MAC地址 arp -a 不会为我工作,因为我以前从未ping过那个IP。我想在网络中搜索它,只知道MAC地址 信息:IP是静态的 编辑:刚刚意识到你在Windows上的位置。遗憾的是,在Windows中没有ping braodcast地址的本机方法,但是您可以使用以下技巧:FOR/L%i in(1,1255)do@ping-n 1 192.168.1.%i | find“Reply”。但它似乎非常慢 前面的答案如下 据我所知,你必须填写
arp -a
不会为我工作,因为我以前从未ping过那个IP。我想在网络中搜索它,只知道MAC地址
信息:IP是静态的
编辑:刚刚意识到你在Windows上的位置。遗憾的是,在Windows中没有ping braodcast地址的本机方法,但是您可以使用以下技巧:
FOR/L%i in(1,1255)do@ping-n 1 192.168.1.%i | find“Reply”
。但它似乎非常慢
前面的答案如下
据我所知,你必须填写你的ARP缓存才能做你想做的事。
这就是你需要的 正如帖子所说,你可以:
- 通过ping广播地址ping局域网的所有主机(
,用实际广播地址替换IP)ping-b-c192.168.1.255
- fping您的整个网络(
,替换为实际的网络掩码)fping-a-g 192.168.1.0/24
- 网络映射(
)nmap-sP 192.168.1.0/24
- nbtscan(仅限windows主机,
)nbtscan 192.168.1.0/24
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
获取指定MAC地址的IP
wmic /node:@computerlist.txt nicconfig get ipaddress /format:htable
获取计算机上所有mac地址的IP地址。我不是批处理用户,因此我不知道这些命令,但我知道这样做的方法是向您的网络发送广播ping请求,并使用wireshark检查回复中的mac地址 我记得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
假设您的子网是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
Edit找到了一种加速的方法。我不知道这是否是最终的解决方案。我希望明天能告诉你。但现在我有一个问题:第一个命令循环遍历所有内容并将其保存在.txt文档中。这样我就可以在arp表中循环了,还是不循环更好?为什么?不工作--第一个命令给出--
系统错误6118已发生。
此工作组的服务器列表当前不可用
--同时我的设备显示在arp-a
中。。。。如果您不在24位子网上怎么办?