Получить уникальный идентификатор для подключенного сетевого устройства - PullRequest
1 голос
/ 30 ноября 2011

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

Есть ли какое-либо устройство, идентифицирующее это аппаратное устройство в сети по идентификатору?Я обнаружил в Java, что невозможно получить MAC-адрес подключенного устройства.Есть ли другая альтернатива?

Спасибо, с наилучшими пожеланиями

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Mac-адреса должны быть уникальными. Может быть, вы можете получить необходимую информацию из таблицы ARP. Команда "arp -a" работает в Windows и Linux.

Но есть проблемы:

  1. Это не переносимый способ
  2. Таблица ARP довольно переменная
  3. Если устройство находится за маршрутизатором, это не работает.
0 голосов
/ 30 ноября 2011

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

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

...