查看局域網內所有的主機名、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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM