Получение MAC-адреса IP из-за маршрутизатора

8

Я хочу знать, если возможно, как получить MAC-адрес IP-адреса, если я нахожусь за маршрутизатором.

Я попытался выполнить пинг до IP и проверить таблицу arp, но единственной записью является MAC-адрес маршрутизатора.

Любые идеи?

Спасибо за чтение.

Macarse
источник

Ответы:

20

MAC-адреса не передаются маршрутизаторами. Вам нужно взглянуть на таблицу ARP роутера.

Редактировать:

Если у вас нет другой формы доступа к машине, да, это невозможно. Если вы можете подключиться к сети (VNC, RDP, SSH), то вы можете это сделать, но в противном случае нет.

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

Dentrasi
источник
Если у меня нет доступа к таблице arp маршрутизатора, то это невозможно?
Macarse
1
Да. ARP называется не маршрутизируемым протоколом - он никогда не выйдет за пределы локальной сети. Если вы хотите видеть MAC-адреса, вы должны быть подключены к локальному устройству либо напрямую, либо с достаточным удаленным доступом для перечисления таблицы ARP.
Кайл Брантли
5

Нельзя гарантировать, что вы видите MAC-адрес машин за маршрутизатором. Но есть некоторые протоколы, которые могут помочь вам найти MAC-адрес из любой точки сети. Например, чтобы найти MAC-адрес ПК с Windows в другой сети, когда вы знаете его IP-адрес, вы можете использовать команду

nbtstat -A <IP Address>

Чтобы сделать то же самое с Linux-машины (с установленной samba), используйте команду

nmblookup -R -S -A <IP Address>

Если рассматриваемая машина не является машиной Windows и нет возможности стать частью другой подсети. Тогда единственными вариантами являются просмотр таблицы MAC-адресов в маршрутизаторе или, если в сети есть общий DHCP-сервер, вы можете увидеть MAC-адрес в журналах DHCP. Но я думаю, вы должны быть администратором для доступа к маршрутизатору или DHCP-серверу.

Следовательно, если в вашей сети много машин с Windows, вы можете найти MAC-адрес для них, даже если они не находятся в их подсети. Но если в сети много Linux-машин, то нет хорошего очень распространенного способа найти MAC из других сетей.

Вышеупомянутая техника не будет работать на серверах Linux Samba. Они всегда будут возвращать MAC-адрес как 00-00-00-00-00-00.

Саураб Баржатия
источник
3

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

ARP является видимым / релевантным только для последнего перехода IP-соединения (уровень 2). Все, что находится между первым объектом маршрутизации и последним объектом маршрутизации, - это уровень 3, который использует не ARP исходных или целевых объектов, а ARP следующего непосредственно подключенного объекта маршрутизации.

Джеймс Ф
источник
2

Я думаю, что вы хотите знать, это -

Как вы можете найти MAC для определенного IP (компьютера), который не является частью вашей подсети?

Для всех компьютеров / IP-адресов в вашей подсети таблица IP-MAC хранится в кэше ARP локально на вашем компьютере. Это тот же кеш, который выдает «конфликты разрешения IP». сделать простой

$ arp -a | grep specialIP

Теперь для машины вне вашей подсети - нет стандартного приложения полки, которое делает это, я пытался подумать, может ли это сделать какое-либо сообщение ICMP, но на данный момент я думаю, что его нет. То, как устроена сеть, а не многоуровневая структура, это намеренно нежелательное поведение. Для экранирования или удаления информации, которая относится к уровням ниже настоящего, и, поскольку мы по сетям, используется IP, поэтому нет MAC.

Посмотрите, есть ли у вас сотрудничество на другом компьютере, вы можете написать небольшое приложение, которое инкапсулирует заголовок mac и отправляет вам ... конечно, если у вас есть сотрудничество с другого компьютера, зачем столько усилий, простой ifconfig -a делает работу для всех интерфейсов на этой машине.

Вивек Шарма
источник
1

Вы можете только «видеть» mac-адреса хостов, находящихся в одной подсети. Затем вы можете перечислить все mac-адреса с помощью команды arp:

arp -a

или для одного IP-адреса:

arp -a 192.168.0.1
splattne
источник
Я сказал, что я за маршрутизатором, поэтому я не в той же подсети.
Macarse
0

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

JR

Джон Ренни
источник
Нет, у меня нет доступа к подсети :(
Macarse
0

Вы знаете производителя устройства? Если это так, вы можете получить часть MAC.

http://aruljohn.com/mac.pl

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

https://tools.ietf.org/html/rfc7348

dmourati
источник
0

Хорошо, как сказали ребята в другом ответе, ARP является протоколом второго уровня и не маршрутизируется, поэтому сканирование обычными методами не вернет вам MAC-адреса. пример

nmap -sn target

будет давать только MAC-адреса устройств, которые находятся в одном сегменте сети. Есть два сценария nmap, которые используют такие помощники, как nbtstat и snmp

NBTSTAT для этого необходимо, чтобы UDP-порт 137 был открыт на целевом объекте, команда nmap

nmap -sU --script nbtstat.nse -p 137 target

SNMP, этот протокол должен функционировать, он открыт, чтобы дать нам любую информацию о MAC-адресе цели. Также UDP порт 161

nmap -sU -p 161 --script=snmp-interfaces target

Адреса IPV6 работают при извлечении MAC-адресов из IPv6 или аналогичных (teredo, 6 - 4 и т. Д.) Адресов. Я только попробовал это на IPv6-адресе, на котором есть часть Mac

nmap -sV -sC target

(это команда из nmap https://nmap.org/nsedoc/scripts/address-info.html ), но при тестировании (на внутренних хостах fe80) требовалось -6, поэтому

nmap -sV -sC -6 target 
Нассим
источник
-2

Попробуйте Namp Intense Scan: nmap -T4 -A -v IP-address

Мухаммед Хессамзаде
источник
1
Либо вы не поняли вопрос, либо не понимаете, о чем говорите. Я не вижу никаких свидетельств того, что эта команда когда-либо будет видеть MAC-адрес на другой стороне любого маршрутизатора. Даже если бы это сработало, это не было бы хорошим ответом, потому что в нем отсутствует информация о том, как это работает.
Касперд
-2

я не знаю о роутере, но если у вас есть ip-адрес, вы можете использовать nmap для получения mac-адреса даже на вашем локальном хосте, вы также можете это сделать, так почему, черт возьми, вы хотите получить это от роутера или чего-то в этом роде? Если ваша ОС Linux, вы можете использовать Macchanger или множество других приложений, поэтому у меня нет никаких идей, почему вы хотите сделать это так.

M01
источник
Я думаю, что вы пропустили слово маршрутизатор в вопросе.
Касперд