![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
criolit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Привет всем!
Есть такой вопрос. Как определить MAC адрес компа в локальной сети средствами Java? Или это только на С надо чего-то писать? Заранее спасибо! |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Средствами Java это не сделать. Можно написать функцию на Си и подключить ее к Java через JNI.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
criolit |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Ясно. Спасибо. Пойду к сишникам спрошу как это сделать.
|
|||
|
||||
redrick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: нет Всего: 5 |
ну, я бы небольшую поправку сделал - наверняка это уже написано кем-то и свою процедруру не надо будет писать.
-------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
LevanovSA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.3.2009 Репутация: нет Всего: нет |
|
|||
|
||||
jython |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
Для определения MAC-адреса удалённого компьютера можно использовать NetBios:
Declared in Nb30.h Use Netapi32.lib НО! На машине NetBios может быть и выключен. Тогда можно вытащить его из таблицы IPMAC если хост вообще использует IP-протокол. Технология следующая: мы посыалем хосту любой IP-пакет, например по UDP. Система обязательно широковещательным ARP-пакетом запросит его MAC-адрес и если получит, занесёт его в таблицу IPMAC. Откуда мы его и заберём. Абсолютно неважно, какой IP-based протокол будет использован, и будет ли он установлен и/или принят удалённым хостом. Важно лишь то, что система захочет отослать IP-пакет, а для этого она обязательно должна узнать его MAC. Пример консольного приложения:
PS: Последний способ действует только для той подсети, где сам находишься. Если использовать HOST_IP из др. подсети, то в IPMAC таблице будет находится IP и MAC шлюза к HOST_IP. PPS: MAC-адрес этто физический адрес устройства, и в общем случае может иметь длинну отличную от 6 байт. Это сообщение отредактировал(а) jython - 31.3.2009, 11:08 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |