从 DHCP 客户端列表中提取信息
Extracting information from DHCP client list
通常,当我通过在浏览器中输入 IP 地址来访问我的路由器设置时,我可以访问连接到我的网络的所有客户端的列表。有没有办法以某种方式检索此信息并将其导出到 .txt 文件或 Excel?我尝试了一些 CMD 代码,但没有成功。
非常感谢。
有arp命令。它列出了计算机已知的地址。这基本上意味着,"there was some communication to/from this address since last reset (explicit reset or reboot)"。但它不会告诉您该地址当前是否可达。所以要获得可达地址,你必须删除arp的缓存,强制与每个地址通信(一个ping就足够了)然后显示缓存:
@echo off
arp -d
(for /l %%i in (1,1,255) DO start /min ping 192.168.1.%%i -n 1) & timeout 10 >nul
arp -a | find "dynamic"
timeout
为完成 ping
和 arp
构建缓存数据提供了时间。
确保根据您的需要调整基地址 (192.168.1.
)。如果你使用非英文版本的 Windows,你还必须适配字符串 dynamic
.
start /min
通过 运行 并行使 ping
非常有效。
注意:有些 computers/devices 可能不会回复 ping
,因此他们会在列表中丢失。
奖金线:
for /f %%a in ('arp -a^|find "dynam"') do for /f "tokens=2,3 delims=[] " %%b in ('ping -a -n 1 %%a^|find "["') do echo %%c %%b
(同样,这是针对英语版本的。调整其他语言的标记;对于德语 Windows,它是 tokens=5,6
)
通常,当我通过在浏览器中输入 IP 地址来访问我的路由器设置时,我可以访问连接到我的网络的所有客户端的列表。有没有办法以某种方式检索此信息并将其导出到 .txt 文件或 Excel?我尝试了一些 CMD 代码,但没有成功。
非常感谢。
有arp命令。它列出了计算机已知的地址。这基本上意味着,"there was some communication to/from this address since last reset (explicit reset or reboot)"。但它不会告诉您该地址当前是否可达。所以要获得可达地址,你必须删除arp的缓存,强制与每个地址通信(一个ping就足够了)然后显示缓存:
@echo off
arp -d
(for /l %%i in (1,1,255) DO start /min ping 192.168.1.%%i -n 1) & timeout 10 >nul
arp -a | find "dynamic"
timeout
为完成 ping
和 arp
构建缓存数据提供了时间。
确保根据您的需要调整基地址 (192.168.1.
)。如果你使用非英文版本的 Windows,你还必须适配字符串 dynamic
.
start /min
通过 运行 并行使 ping
非常有效。
注意:有些 computers/devices 可能不会回复 ping
,因此他们会在列表中丢失。
奖金线:
for /f %%a in ('arp -a^|find "dynam"') do for /f "tokens=2,3 delims=[] " %%b in ('ping -a -n 1 %%a^|find "["') do echo %%c %%b
(同样,这是针对英语版本的。调整其他语言的标记;对于德语 Windows,它是 tokens=5,6
)