34

Я знаю IP-адрес хоста в своей локальной сети. Используя это, как я могу найти его MAC-адрес (без физического доступа к нему)?

10 ответов10

46

Если вы находитесь на компьютере с 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)
19

Команда 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)
7

Пытаться

getmac /s hostname

или же:

getmac /s IP

Вам нужен доступ администратора к машине, чтобы сделать это.

2

Если у вас есть управляемый коммутатор или ваш маршрутизатор позволяет вам просматривать его таблицу ARP, вы можете получить его оттуда.

Если компьютер, для которого у вас есть IP-адрес, подключен к сети, вы можете пропинговать его и получить его MAC из локальной таблицы ARP.

Общее замечание ради других: невозможно получить MAC-адрес для машин, которые находятся в другой локальной сети, так как в этом случае для адресации и доставки используются протоколы уровня 3, а MAC - это уровень 2.

2

просто используйте что-то вроде:

nmap -n -sP 192.168.146.0/24

после адаптации параметров к вашей настройке будет сканироваться вся ваша подсеть с указанием адресов IP и MAC

1

Если и ваша машина, и целевой компьютер находятся в одной подсети, вы можете просто пропинговать ее, чтобы ее ассоциация 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

1

Вы можете использовать такую утилиту, как http://trogonsoftware.com/trogon-mac-scanner.html или другой сканер адресов ip\mac, чтобы сканировать сеть на наличие адресов удаленных компьютеров в локальной сети.

0

Другой способ это:

nbtstat -a 192.168.1.1

(замените 192.168.1.1 на нужный адрес)


Кроме того, если getmac используется на компьютере, отличном от Windows, вы получите:

ОШИБКА: сервер RPC недоступен.

0

Пока нет шлюза, маршрутизирующего трафик между компьютерами, любой перехватчик предоставит вам эту информацию.

0

Вы всегда можете обратиться к таблице arp на своем маршрутизаторе (в некоторых случаях маршрутизатор объединяет таблицы аренды arp и dhcp).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .