这个问题是由于尝试管理我的家庭 WiFi 网络而产生的。我一直在尝试 get-netipaddress、ipconfig 和 nslookup.exe 等命令。
以下命令有点引导我到某个地方,但它没有我正在寻找的信息。
Get-NetIPAddress | Format-Table
我希望能够获得家庭网络上所有设备的列表。包括设备 IP 地址以及该设备的某种名称。前面的命令给出了一个 ip 地址,但它看起来更像是一个 mac 地址?任何帮助表示赞赏!
我将批处理工具转换为 Powershell 脚本。
它是命令行工具 ping.exe、arp.exe 和 nslookup.exe 的包装器。
- 为了获得良好的结果,所有设备都应打开并连接。
- 要将所有可能的 DeviceIP 放入计算机的 arp 缓存中,
预先对假定的 /24 子网中的所有 IP 执行 ping 操作。
-
Arp.exe -a
将返回 IP 和 MAC。
- Nslookup.exe 用于查找从任何本地域后缀中剥离的名称。
编辑 var $SubNet 以适合您的环境。
## Q:\Test\2017\01\21\SO_41785413.ps1
$FileOut = ".\Computers.csv"
## Ping subnet
$Subnet = "192.168.xyz."
1..254|ForEach-Object{
Start-Process -WindowStyle Hidden ping.exe -Argumentlist "-n 1 -l 0 -f -i 2 -w 1 -4 $SubNet$_"
}
$Computers =(arp.exe -a | Select-String "$SubNet.*dynam") -replace ' +',','|
ConvertFrom-Csv -Header Computername,IPv4,MAC,x,Vendor|
Select Computername,IPv4,MAC
ForEach ($Computer in $Computers){
nslookup $Computer.IPv4|Select-String -Pattern "^Name:\s+([^\.]+).*$"|
ForEach-Object{
$Computer.Computername = $_.Matches.Groups[1].Value
}
}
$Computers
$Computers | Export-Csv $FileOut -NotypeInformation
#$Computers | Out-Gridview
样本输出
Computername IPv4 MAC
------------ ---- ---
Zyxel-24G-Switch 192.168.xyz.1 fc-f5-28-fc-f5-28
TMDat1-Plex 192.168.xyz.60 02-7c-2c-02-7c-2c
HPn54L 192.168.xyz.91 c8-cb-b8-c8-cb-b8
Medion-Tablett 192.168.xyz.114 08-d8-33-08-d8-33
dLAN-LiveCam 192.168.xyz.115 bc-f2-af-bc-f2-af
McMini 192.168.xyz.128 40-6c-8f-40-6c-8f
HPojPro8500plus 192.168.xyz.144 d4-85-64-d4-85-64
Amazon-Kindle2 192.168.xyz.152 10-ae-60-10-ae-60
SG-S4-active 192.168.xyz.162 40-0e-85-40-0e-85
TMDat1 192.168.xyz.167 28-92-4a-28-92-4a
HP-G1610 192.168.xyz.176 10-60-4b-10-60-4b
NetStream4Sat 192.168.xyz.191 00-0c-6c-00-0c-6c
Netio230b 192.168.xyz.230 24-a4-2c-24-a4-2c
fritz 192.168.xyz.250 bc-05-43-bc-05-43
HomeMatic-CCU 192.168.xyz.254 00-1a-22-00-1a-22
我自己的扩展版本附加了从 Mac 的前 6 个十六进制数字中提取的供应商,但需要非常缓慢地下载 Oui.txt
"http://standards-oui.ieee.org/oui.txt http://standards-oui.ieee.org/oui.txt"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)