Перейти к содержимому

Как узнать ip адрес по mac адресу

  • автор:

Могу ли я найти IP-адрес на основе MAC-адреса?

Те, кто имеет некоторое представление о компьютерных сетях, знают, что при интернет-коммуникациях устройствам требуется уникальный идентификатор, называемый IP-адресом. В локальной сети (LAN) MAC-адрес устройства является его уникальным аппаратным адресом. Итак, если у нас есть только MAC-адрес устройства, можем ли мы найти соответствующий ему IP-адрес на основе этой информации? Это распространенный вопрос, и многие люди часто обращаются за советом по этому поводу. Эта статья призвана ответить на этот часто задаваемый вопрос.

Связь между MAC-адресом и IP-адресом

MAC-адрес (адрес управления доступом к среде) и IP-адрес (адрес интернет-протокола) — это два разных типа адресов. MAC-адрес относится к физическому адресу сетевого адаптера (например, сетевой карты), который уникален в глобальном масштабе и предварительно настроен производителем для идентификации устройства, подключенного к сети. С другой стороны, IP-адрес — это логический адрес устройства в сети, который настраивается сетевым администратором для определения местоположения устройства в сети. MAC-адрес — это 48-битный адрес, обычно представленный в шестнадцатеричном формате с 6 байтами, разделенными двоеточиями, например, 08:00:27:7D:9C:14. IP-адрес — это 32-битный адрес, обычно представленный в десятичном формате с 4 байтами, разделенными точками, например, 192.168.1.1. Что такое IP-адрес?

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

mac address vs ip address

Могу ли я найти IP-адрес на основе MAC-адреса?

Возвращаясь к первоначальному вопросу, могу ли я найти IP-адрес на основе MAC-адреса?

Ответ таков: в общем случае вы не можете напрямую найти IP-адрес по MAC-адресу. Однако в локальной сети (LAN) вы можете использовать протокол ARP для сопоставления MAC-адреса с IP-адресом.

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

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

  1. Откройте интерфейс командной строки. В системе Windows нажмите клавиши Win + R, введите «cmd» в диалоговом окне «Выполнить», а затем нажмите «ОК», чтобы открыть интерфейс командной строки. В системах Linux или macOS вы можете открыть терминал, чтобы открыть интерфейс командной строки. open
  2. Введите команду ARP. В интерфейсе командной строки введите команду «arp -a», а затем нажмите клавишу «Enter». Эта команда отобразит список MAC-адресов и IP-адресов всех известных устройств в локальной сети. enter
  3. Найдите целевое устройство. Найдите MAC-адрес, который вы хотите найти в списке, затем IP-адрес этого устройства с MAC-адресом будет показан в столбце слева от него. Например, если MAC-адрес — d8-12-65-85-56-79, IP-адрес соответствующего ему устройства — 192.168.100.136. find

Повторим еще раз: использование команды ARP для поиска IP-адреса, как описано выше, должно выполняться в той же локальной сети (LAN). Если вы хотите найти IP-адрес устройства, которое не находится в той же локальной сети, вам нужно будет использовать другие инструменты и методы.

Как узнать IP, зная MAC

Все команды необходимо выполнять от лица супер-пользователя. Начнем с установки программы arp-scan — она есть в репозиториях практически любого дистрибутива Linux. Именно она позволяет определить IP адреса устройств в сети по их MAC адресам. Для Debian-base дистрибутивов (Ubuntu, Mint. ) команда будет звучать так:

apt-get install arp-scan

Если же вы пользователь дистрибутивов ветки Red Hat (Centos, Fedora. ) выполните:

yum install arp-scan

Немного о том, как работает утилита. Она использует функции протокола ARP, который выполняет обратное действие — позволяет узнать MAC необходимого IP, широковещательно (каждому узлу сети) рассылая запрос содержания: «У кого такой IP — пришлите мне свой MAC». И узел с совпавшим IP отвечает: «Это я, а это мой MAC».

В нашем случае мы знаем MAC, поэтому широковещательная рассылка не требуется, а вот IP не знаем — будем перебирать их из заданного диапазона адресов, или всей нашей сети. Рано или поздно IP совпадет и узел ответит тем же сообщением.

arp-scan -T aa:20:5c:64:71:bf 192.168.1.0/24 | grep aa:20:5c:64:71:bf

В данном примере сообщения будут отправлены узлу с MAC-адресом aa:20:5c:64:71:bf, для перебора будет использована сеть 192.168.1.0/24. /24 — это маска подсети, указывающая на диапазон перебираемых IP адресов: 192.168.1.1-192.168.1.254. Диапазон можно указывать и в таком формате. GREP в конце команды позволяет отфильтровать вывод только для данного MAC адреса. Это связано с тем, что если ваш коммутатор еще не успел «обучиться» данному MAC адерсу, он разошлет сообщения широковещательно (всем узлам), и некоторые узлы с совпавшем IP адресом из диапазона перебираемых адресов могут решить, что это сообщение им, и подзасорят вывод нашей команды.

Помимо вышеописанной задачи — «Узнать IP по MAC адресу», данная утилита используется для составления списка IP адресов сети в связке с их MAC адресами. В этом случае MAC адрес узла через ключ «-T» указывать не нужно — пускай сообщения идут всем узлам сети широковещательно:

Вывод команды будет содержать список всех узлов с IP из указанного диапазона и их MAC-адреса

Как узнать ip по mac-адресу?

Есть набор mac-адресов некоторого количества PC, как под Windows или Linux узнать их IP-адреса, если соединения с этими компьютерами ни разу не происходило и arp пуст?

p.s. Можно предложить вариант как для Linux так и для Windows, под рукой есть обе ОС

  • Вопрос задан более трёх лет назад
  • 195663 просмотра

Комментировать
Решения вопроса 2

Можно попробовать вот так (для Windows, в консоли)
Запустите пинг на бродкастовый адрес вашей сети.
Например если у вас сеть 192.168.0.0 с маской 255.255.255.0, ваш адрес тогда будет 192.168.0.1-254, а бродкастовый — самый последний 192.168.0.255. Вот именно его нужно попинговать, потом дать команду
arp -a
Увидите все ip адреса в вашей сети с их маками. Ну а там уже найдете нужный.

Как узнать IP-адрес по MAC-адресу

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

MAC и IP

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

Поиск по MAC

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

Вызываем диалоговое окно «Выполнить» комбинацией клавиш «Win+R». Набираем в текстовом поле «cmd». Нажимаем «ОК» или клавишу Enter запуская классическую оболочку командной строки.

Находясь в одной локальной сети, устройства постоянно обмениваются пакетами данных. В результате этого фонового взаимодействия, выполняемого по протоколу ARP, на компьютере формируется кэш сопоставленных адресов. Для его просмотра набираем команду «arp -a». На следующем скриншоте показан результат ее выполнения. В первой слева колонке выводятся адреса IP, а во второй – MAC. Непосредственно под командой, в строке «Интерфейс», указан IP-адрес компьютера, на котором она выполнялась. Короткая таблица, приведенная на снимке экрана, говорит о том, что устройство подключено к сети недавно и еще не успело обменять пакетами с остальными абонентами.

Для актуализации кэша ARP применим команду опроса «for /L %a in (7,1,254) do @start /b ping 192.168.7.%a -n 2 > nul». В данном примере действие выполняется для подсети 192.168.7.1-254. Для обновления кэша в сети с другой маской надо соответствующим образом изменить используемые в команде значения. В скобках (7,1,254) первая цифра берется из IP компьютера. В рассматриваемом примере это 7, в стандартных настройках большинства роутеров – 0 или 1. Аналогичным образом меняет параметр «ping 192.168.7.%a». Вместо семерки указываем реальную подсеть, в которой проводится опрос устройств.

Дождавшись выполнения описанной выше команды снова просматриваем кэш ARP набрав с строке-приглашении «arp -a». После проведенного опроса устройств таблица содержит больше записей. Находим имеющийся на руках MAC-адрес и напротив него в левой колонке видим IP.

Если таблица ARP содержит несколько десятков записей, к примеру для офиса или домовой сети, удобнее использовать прямой поиск. Набираем в командной строке «arp -a | find «a0-b0-c0-d0-e0-f0″». В кавычках вместо приведенной комбинации вставляем известный MAC, как показано на скриншоте. По нажатию клавиши Enter в области указанной цифрой «2» отобразится IP сопоставленный с указанным физическим адресом.

В заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *