查看局域网内所有的主机名、MAC地址和IP地址
查看所有 IP at MAC
$ arp -a
? (10.125.49.187) at 18:81:e:eb:ef:c0 on en0 ifscope [ethernet]
? (10.125.50.149) at 4:cf:8c:26:f3:8e on en0 ifscope [ethernet]
? (10.125.51.44) at 10:77:17:57:b2:c3 on en0 ifscope [ethernet]
由 IP 找到主机名 由 NetBIOS 解析
Windows 下用 nbtstat -A 10.125.49.187
(IP 换成上一步获取的)
C:\Users\Administrator>nbtstat -A 10.125.56.241
以太网:
节点 IP 址址: [0.0.0.0] 范围 ID: []
找不到主机。
Bluetooth 网络连接:
节点 IP 址址: [0.0.0.0] 范围 ID: []
找不到主机。
WLAN:
节点 IP 址址: [10.125.56.241] 范围 ID: []
NetBIOS 远程计算机名称表
名称 类型 状态
---------------------------------------------
WIN-ABCDEFGHI <00> 唯一 已注册
WORKGROUP <00> 组 已注册
WIN-ABCDEFGHI <20> 唯一 已注册
MAC 地址 = B8-6D-13-59-47-9A
macOS 下用 smbutil status 10.125.49.187
(IP 换成上一步获取的)
$ smbutil status 10.125.56.241
Using IP address of 10.125.56.241: 10.125.56.241
Workgroup: WORKGROUP
Server: WIN-ABCDEFG
知道主机名,查它对应的 IP
Windows 下 nbtstat -a ABCD
macOS 下 smbutil lookup ABCD
实际用途
可以在局域网内没有域名系统的情况下,由主机名访问提供服务的目标主机
在 Windows 下的浏览器,在地址栏直接目标主机名(ABCD/),就可以访问
而在 macOS 下,需要在主机名后面加上 .local(ABCD.local),具体细节可以去查一下 Bonjour 相关的内容
有兴趣的可以写个通用脚本,方便以后使用
0.How to resolve NetBios names on Mac OS X?
1.Why can\'t I resolve machine names on my LAN to their IP address?
2.一个局域网内,没有dns服务器时,机器名到ip的解析由谁来负责呢? ...
3.[在 macOS 下如何用 IP 查尋電腦名稱?](http://nick6239.blogspot.com/2016/11/macos-ip.html?fbclid=IwAR2uE9DqjTWAdTESh66xj6-
GvQlua0qQTP4VUSBHDDNij0LS_1ORaFvgtqg)