MACアドレスでLAN上のWindows PCの名前を見つける方法は?

MACアドレスでLAN上のWindows PCの名前を見つける方法は?

これは同等の質問ですここOSX用。 LAN上のWIndows PCのNetBIOS名をMACアドレス(またはその逆)で見つける最も簡単な方法は何ですか?

これはIP経由で行うことができます。

nmblookup -A a.b.c.d
nmblookup pc_netbios_name

MACアドレスに対する同様のコマンドはありますか?

ベストアンサー1

次の表を使用して、IPアドレスで最後に接続したデバイスのMACアドレスを見つけることができますarp

ping -c1 -w1 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
64 bytes from 10.0.2.2: icmp_seq=1 ttl=63 time=0.785 ms

--- 10.0.2.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.785/0.785/0.785/0.000 ms

arp -n 10.0.2.2
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.2.2                 ether   52:54:00:12:35:02   C                     eth0

これを小さな関数にまとめることができます。

iptoarp() {
    local ip="$1"
    ping -c1 -w1 "$ip" >/dev/null
    arp -n "$ip" | awk '$1==ip {print $3}' ip="$ip"
}

iptoarp 10.10.0.2    # --> 52:54:00:12:35:02

私が知っている限り、MACアドレスからIPアドレスまたはNetBIOS名を簡単に取得する方法はありません。arpwatchデバイスでチャットログファイルを実行してスキャンするか、pingLANの各IPアドレスを順番にスキャンしてarp応答を見つけます。

おすすめ記事