Я бы использовал другой подход - проверка из системы, к которой вы подключены.
Передо мной окно с Windows, поэтому я использую nslookup
для поиска ip-адреса для имени хоста, а затем arp
для поиска MAC-адреса. (Последнее предполагает, что две системы находятся в одной подсети, поскольку MAC-адреса не видны через маршрутизатор. Хотя вы, конечно, можете проверить ARP-кеш маршрутизатора.)
C:\Users\faile_000>nslookup phoebe
Server: router.asus.com
Address: 192.168.1.1
Name: phoebe
Address: 192.168.1.43
C:\Users\faile_000>arp -a 192.168.1.43
Interface: 192.168.1.110 --- 0x1b
Internet Address Physical Address Type
192.168.1.43 c0-7c-d1-c0-39-44 dynamic
Точно так же вы можете использовать host
или dig
для поиска IP-адресов в Linux, а arp
или ip neigh show
для просмотра кэша ARP.
[geek@phoebe ~]$ host clocacina
clocacina has address 192.168.1.10
^[[A[geek@phoebe ~]$ dig clocacina
; <<>> DiG 9.10.4-P1-RedHat-9.10.4-1.P1.fc24 <<>> clocacina
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12329
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;clocacina. IN A
;; ANSWER SECTION:
clocacina. 0 IN A 192.168.1.10
;; Query time: 54 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Feb 13 16:37:04 SGT 2017
;; MSG SIZE rcvd: 43
[geek@phoebe ~]$ ip neigh show 192.168.1.10
192.168.1.10 dev bridge0 lladdr 00:16:d3:2d:8b:9a STALE
[geek@phoebe ~]$ arp 192.168.1.10
Address HWtype HWaddress Flags Mask Iface
Clocacina ether 00:16:d3:2d:8b:9a C bridge0