Как узнать MAC-адрес компьютеров в сети?
Мне нужно обнаружить машины, которые доступны только с установленным BIOS (без операционной системы).
И мне нужно найти MAC-адрес компьютеров, которые работают.
networking
tcp
bios
mac-address
Питер Мортенсен
источник
источник
Ответы:
Вам нужно будет получить доступ к информации, доступной на ваших управляемых коммутаторах. Если у вас есть неуправляемая сеть, я не вижу способа сделать это.
Предполагается, что целевые компьютеры поддерживают Wake-on-LAN (WoL). В этом случае устанавливается связь с сервером (посмотрите на светодиодный индикатор), и сетевая карта прослушивает трансляции WoL. AFAIK, карта не отвечает ни на что в этом состоянии. Если нет WoL, карта, скорее всего, выключена (индикатор связи отсутствует) и не будет работать вообще.
источник
Если машины не включены, это невозможно.
Если они включены, я думаю, это также невозможно, так как вам нужен минимальный сетевой стек, чтобы хотя бы отвечать на такие вещи, как запросы ARP и т. Д., Который не работает без установленной ОС.
Что может сработать (я не знаю и не могу сейчас проверить), так это то, что сетевой адаптер и коммутатор обмениваются данными, когда сетевой адаптер подключен или включен, и коммутатор таким образом узнает MAC-адрес. Если это так, вам понадобится управляемый коммутатор и запросите его для подключенных MAC-адресов.
источник
Вы можете использовать Nmap для очень быстрого сканирования ARP, используя следующий синтаксис.
При этом используется пинг ARP (только запросы ARP, без ICMP, UDP или TCP, без сканирования портов) для сканирования указанного диапазона IP-адресов и записи ответов IP-адрес / MAC-адрес / имя хоста в файл XML (nmap.xml).
Я написал сценарий PowerShell, который манипулирует файлом XML и выплевывает файл CSV . Это также отфильтровывает неработающие хосты. Я считаю, что это легче использовать в Excel, чем файл XML. Вот сценарий, если кому-то интересно.
источник
Scantype n not supported
. Очевидно, флаг-sn
не поддерживается в Nmap 4.x.(В коммутаторах Cisco команда есть
show mac-address-table
).источник
С компьютера Unix, прослушивая компьютеры без ОС в той же локальной сети, и, если возможно, через концентратор (не коммутатор), вы можете попробовать
Также вы можете попробовать
wireshark
(с компьютера под управлением ОС). Опять же, лучше использовать концентратор для перехвата любых сообщений с компьютеров BIOS, включая широковещательные сообщения.источник
Основная проблема здесь в том, что это информация уровня 2, так что только коммутаторы видят ее. Некоторые коммутаторы предоставляют интерфейс, который позволяет вам взглянуть на эту информацию, но если они не единственный способ получить ее, это перехватить на физическом уровне, например, установив концентратор между коммутатором.
Если вы используете управляемые коммутаторы, эта информация, вероятно, доступна из коммутатора. Некоторые интегрированные маршрутизаторы / коммутаторы конечного пользователя (например, такие, которые часто также упаковывают модемы ADSL) иногда имеют список клиентов DHCP, который включает MAC-адреса.
Если вы используете неуправляемые коммутаторы и действительно хотите знать эту информацию, я рекомендую купить концентратор и временно заменить коммутатор на него. Затем вы можете подключить компьютер с Wireshark к концентратору и перехватывать пакеты ARP для записи MAC-адресов. В качестве альтернативы вы можете использовать Echolot, чтобы сделать это за вас - он выборочно отслеживает пакеты ARP и создает базу данных MAC-адресов.
источник
Вот решение, которое сработало для меня:
источник
Очень простой маленький трюк, который вы можете сделать за 2 секунды, заключается в том, что любая операционная система записывает таблицу с mac и IP-адресом любого устройства, с которым она взаимодействует. Это известно как ARP TABLE. Таким образом, вопрос заключается в том, как заставить взаимодействие со всеми устройствами? Вы можете просто пропинговать широковещательный IP-адрес. Это не идеально, поскольку некоторые устройства или брандмауэр могут блокировать пинг-запрос ICMP, но это работает во многих сценариях.
Команды (в широковещательном адресе ipv4 192.168.0.255):
В Linux используют:
Подождите несколько секунд, пока устройства ответят, затем выполните:
Пинг IPV6 см. В комментарии Гедриуса Рекасиуса.
Не идеально, но не инструменты, не исследования, не трата времени, работает во всех основных операционных системах и работает быстро.
источник
ping6 -c2 -n ff02::1%wlan0
. Нужно только обновить имя используемого сетевого интерфейса, IP-адрес для этой цели всегда зависитff02::1
от того, в какой сети вы находитесь.Просканируйте сеть с помощью Nmap, а затем проверьте таблицу ARP (
arp -a
в дистрибутивах Linux).источник
Как уже говорили другие, если у вас есть неуправляемые коммутаторы или BootP / PXE, нет простого способа получить MAC компьютеров без ОС.
Если ваши работающие машины работают под управлением Windows, это легко для сценария (обычно через WMI)
Здесь есть несколько примеров: http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0].Type=SearchText&f[0].Value=MAC+address&x=0&y= 0
источник
Я собирался предложить переключить таблицу MAC-адресов, но кто-то уже рассмотрел этот выше.
Если какие - либо из компьютеров имеет работу ОС и иметь IP - адрес, вы можете подключиться к той же локальной сети, вы можете использовать Nmap (или с графическим интерфейсом , как Zenmap) из http://nmap.org/ ... если вы бежите это в той же локальной сети, вы должны получить информацию MAC-адреса для всех машин, которые отвечают.
Было бы полезно узнать больше о том, зачем вам нужны MAC-адреса, если есть лучший способ добиться того же результата.
источник
Вы можете собирать информацию ARP с помощью, например, постоянно работающего arpalert. При этом у вас будет набор ARP-адресов, видимых после запуска.
Выключенные машины не будут отправлять вам ответы ARP.
Чтобы ускорить процесс, вы можете использовать nmap-пинг (nmap -sP) в вашей сети с сервера, на котором вы запускаете arpalert, чтобы активировать все возможные (живые и работающие) хосты для ответа на ваш запрос arp. Благодаря регулярному запуску nmap-сканирования у вас больше шансов поймать недолговечный хост.
фрагмент от arpalert:
фрагмент из nmap:
Оглянись здесь:
источник
Я использую: nmap -sP 192.168.1.1/24
(замените 192.168.1.1/24 вашим диапазоном IP-адресов)
Он покажет вам только машины, которые работают, и даст вам что-то вроде:
Если у вас не установлена ОС, вы можете использовать Linux Live CD, Nmap, вероятно, доступен в большинстве из них
источник