2011-05-28 1 views
3

Возможные Дубликаты:
how to find MAC address in MAC OS X programmatically ?
How do I query the ARP table on iPhone?Получение MAC-адрес другого компьютера, учитывая его IP-адрес

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

Например, у меня есть:

NSString * ip = @"192.168.1.1"; 
+0

Исправьте меня, если я ошибаюсь, но MAC-адреса назначаются вашему оборудованию сетевого интерфейса и не имеют никакого отношения к IP-сети. – raidfive

+0

@raidfive Я думаю, ему нужен MAC-адрес оборудования сетевого интерфейса, которому назначен этот IP-адрес. Например, я подключен к своей сети с помощью ethernet и Wi-Fi, как с уникальным IP-адресом, так и с уникальным MAC-адресом. –

+0

Да, MAC назначается аппаратным средствам, но я думаю, что есть какой-то способ получить его с цель-c. Я знаю, как легко сделать это с помощью C#. –

ответ

1

Вы должны посмотреть таблицу ARP (Address Resolution Protocol) для локальной сети. В окне терминала вы можете сделать arp -a в командной строке и распечатать таблицу ARP, которая показывает IP-адреса локальной сети и их ассоциации физических адресов (MAC-адреса). OSX хранит записи ARP в таблицах маршрутизации системы, но я не могу найти никаких хороших ссылок, которые показывают, как переводить записи в таблицу системной маршрутизации на MAC-адреса: я уверен, что есть где-то звонок sysctl, но кто знает ? Существует один вопрос без ответа на Getting routing table on MACOSX (programmatically), что может помочь, но ...

На OSX, то arp деталь на http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man4/arp.4.html: я честно предлагаю просто делать system вызова и фильтрации результатов для нужного IP-адреса.

+0

Я забыл сказать, мне нужно разрешить Mac с устройства iOS. –

+0

Да, вам, вероятно, не повезло: не уверен, что у вас есть доступ к таблице системной маршрутизации из кода клиента на платформе iOS, и я уверен, что нет способа вызвать клиент командной строки 'arp' из приложения iOS. – Femi

Смежные вопросы