Как получить MAC адрес удаленной машины по ее IP?
Как получить MAC адрес удаленной машины по ее IP?
по протоколу ARP наверное. поискать это слово в MSDN, либо дельфовом хелпе.
а то чето не получается (((((
работа с сокетами в винде и юниксах почти не отличается. там те же самые функции, только лежат в разных местах немного.
или поищи какие-то дельфовые компоненты на эту тему
попробуй exec('arp -a');
Цитата: Pheonix
попробуй exec('arp -a');
выводит arp кеш операционной системы. это никаким боком не поможет
я точно не помню, но как то можно извлекать полученные данные, а там дальше выбираешь что тебе нужно (правда эта фишка прокатывает в пхп, а делфи я не пробовал)
ARP это же вроде основа Ethernet. Удалённая машина может быть совсем не в Ethernet подсети (может там такого понятия как MAC даже нет). Для твоей машины видны лишь MAC адреса соседей, а IP всех удалённых машин имеют MAC шлюза, через который ты вылазишь в мир.
хм и к чему это написал?
Какие способы вижу я:
- написать прогу ,которая на удалённой машине будет тебе присылать MAC
- залогиниться в той системе и спросить у неё
- может всё-таки существуют протокол для этих дел
В МСДН пример есть "Getting the MAC Address for an Ethernet Adapter", но это опять-таки для локальных машин
вопрос был - как получить MAC. значит речь про Ethernet. vectoroc ты что куришь?
я подумал удалённая машина значит не в локальной сети
мдя....удаленная -- это не localhost
Ну тогда "arp -a" вам поможет вывести текущую таблицу ARP на машине
это только кеш!
вот прямой линк, если ещё сами не нашли
http://support.microsoft.com/kb/118623
<SCORP> что бы запись попала в кешь достаточно любого TCP/IP обращения к нужной машине
это для определения мака на локальной машине....а нужно на УДАЛЕННОЙ!!!!