查看局域网内所有的主机名、MAC地址和IP地址 - 明天有风吹

时间:2024-02-17 18:51:35

查看局域网内所有的主机名、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)