Добрый день Возникла проблема приписать каждому IP свой MAC адрес начал искать в Интернете, не чего, к сожалению не нашёл… Подумав, понял, что лучше сделать скрипт который читает мак адрес сетевой карточки, его IP и отправляет на E-MAIL или хранит всё в логе. Но как это сделать я не понимаю, всё перерыл, не кто не знает, не кто с этим не сталкивался. Дак вот, я очень прошу вас мне помочь, или хотя бы направить так сказать на путь истинный…
BUNKER, это возможно при таких вариантах: 1) если ваш сервер находится в одной подсети с клиентом, тогда просто вытащить MAC из arp таблицы сервера. Никаких роутеров на пути от клиента к серверу быть не должно, или на крайний случай можно поднять специальные сервисы на пограничных клиентских PC-маршрутизаторах с которыми будет уметь общаться ваш web-сервер. Это возможный вариант для локальной сети. 2) если на клиенте удасться запустить свое приложение. Возможно это будет условием для авторизации на вашем ресурсе. Но это плохой вариант - так делать неправильно!, но при определенных условиях - можно. Davil, человек просит MAC, а не IP...
Тут даже не локальная сеть, но построена PPPoE то есть мы Интернет раздаём через Ethernet и хотим улучшить безопасность сети. PPPoE поднято на *nix сервере ос FreeBSD до клиента нет других маршрутников, только коммутаторы. Не хотелось бы заставлять клиента делать какие либо другие манипуляции кроме захода на веб страницу. Конечно можно было бы сделать проще чтоб клиент сам мак нам говорить, но я не думаю что все клиенты это поймут…
Кстати, можно просто пропинговать всех клиентов, а потом arp -a всю табличку... и клиентам даже заходить никуда не нужно будет... главное, не забыть про тех, кто выключен был....
у нас больше тысячи клиентов, каждого клиента мак смотреть очень долго и сложно, тем более не все в онлайне бывают
-a -- все -n -- выводить ip числами, чтоб не было обратного dns-резолвинга, ибо нафик. BUNKER, man arp Код (Text): echo exec('arp -n '.$_SERVER['REMOTE_ADDR']);
если клиентские пакеты пришли к web-серверу, то его запись в arp таблице уже жива и пинговать ничего не нужно...
Кстати, в случае наличия в сервере нескольких физических интерфейсов и несколько кривой их настройке, для одного IP может быть несколько arp записей с одним и тем же MAC но для разных intf
Я просто хотил предложить пассивный вариант - не ждать, пока клиент придет на веб сервер, а простукать их, и взять arp... допустим, пометить неживых и позже их снова простучать... это избавит от необходимости кому либо заходить....
Народ а можно какнить вставить функцию определения мак и последующей записью в таблицу mysql ? Вот в эти строки: PHP: if($baza_db->query("INSERT INTO `account` (`username`,`password`,`email`,`ip`,`ban`,`locked`) VALUES ('$r_login','$r_pass','$r_email','$_SERVER[REMOTE_ADDR]','1','1')")) У меня на винде апач стоит.