Как найти MAC-адрес удаленного компьютера?
Я знаю IP-адрес хоста в своей локальной сети. Используя его, как найти его MAC-адрес (без физического доступа)?
Я знаю IP-адрес хоста в своей локальной сети. Используя его, как найти его MAC-адрес (без физического доступа)?
Если вы находитесь на машине Windows, откройте командное окно (Start…Run…cmd), ping
целевой машины, чтобы связаться с ней, а затем выполните команду arp -a
для просмотра локальной ARP-таблицы, в которой будут перечислены IP-адреса и соответствующие им MAC-адреса, например,
C:\Users\L3K> arp -a
Interface: 192.168.200.128 --- 0xb
Internet Address Physical Address Type
192.168.200.1 00-50-7f-c3-5c-88 dynamic
192.168.200.2 00-50-7f-d1-e1-40 dynamic
192.168.200.6 00-80-77-dd-a8-6b dynamic
Если вы работаете на системе Linux, установите утилиту arp-scan
, а затем из командной строки вы можете запросить сканирование вашей сети - в моем случае:
sudo arp-scan 192.168.200.0/24
Если вы используете интерфейс, отличный от Ethernet, скажем, беспроводной, вам нужно будет указать, что, например,
sudo arp-scan -I wlan0 192.168.200.0/24
Если вы не знаете, какой интерфейс вы используете, просто используйте соответствующую команду, приведенную ниже.
ifconfig (For Debian based OS such as Ubuntu)
ip link (For OS like Arch Linux)
Команда arping
поставляется с пакетом iputils
на linux. Укажите ip-адрес для ping, и он вернёт MAC-адрес, даже между коммутаторами и подсетями в локальной сети (по крайней мере, в нашей локальной сети).
# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90] 0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
Если у вас есть управляемый коммутатор или ваш маршрутизатор позволяет вам просматривать его ARP-таблицу, вы можете получить ее оттуда.
Если компьютер, для которого у вас есть IP, находится в сети, вы можете пинговать его и получить его MAC из локальной ARP-таблицы.
Общее примечание для других: невозможно получить MAC-адрес для машин, которые находятся в другой локальной сети, так как в этом случае для адресации и доставки используются протоколы 3-го уровня, а MAC - 2-го уровня.
Вы можете использовать утилиту типа http://trogonsoftware.com/trogon-mac-scanner.html или другой сканер адресов ip\mac для сканирования сети на наличие адресов удаленных компьютеров в локальной сети.
Если и ваш компьютер, и целевой компьютер находятся в одной подсети, вы можете просто пинговать его, чтобы его ассоциация IP⟷MAC была зарегистрирована через протокол разрешения адресов (ARP).
ping -c1 $IP
arp -n | grep $IP
, например, если я хочу найти IP 10.1.135.150
:
# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms
--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms
Тогда запросите таблицу ARP
# arp -n | grep 10.1.135.150
10.1.135.150 ether 8c:ae:4c:f4:4d:e1 C eth0
Таким образом, MAC 10.1.135.150 является 8c:ae:4c:f4:4d:e1
.