Ответы:
Если вы работаете на компьютере с Windows, откройте окно командной строки (Пуск ... Выполнить ... 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)
ping
раньше arp -a
?
Команда 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)
arping
и iputils-arping
. arping
Пакет работал для меня, хотя сетевой интерфейс указан с строчными i
:arping -c 1 -i eth0 10.100.10.11
Если у вас есть управляемый коммутатор или ваш маршрутизатор позволяет вам просматривать его таблицу 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
Пока нет шлюза, маршрутизирующего трафик между компьютерами, любой перехватчик предоставит вам эту информацию.
Вы всегда можете обратиться к таблице arp на своем маршрутизаторе (в некоторых случаях маршрутизатор объединяет таблицы аренды arp и dhcp).