powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / BAMP - Как узнать MAC-адрес посетителя.
13 сообщений из 13, страница 1 из 1
BAMP - Как узнать MAC-адрес посетителя.
    #38330204
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сервер под FreeBSD, в качестве веб-сервера используется Apache+PHP.
Веб-сервер и его посетители расположены в одной подсети.
Можно ли определить MAC-адрес посетителя непосредственно в PHP?
Я могу выполнить команду "arp -n -i eth0 192.168.1.1" и обработать результат, но мне кажется, что такой способ не слишком производительный.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330217
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.,

Можно через nmap, но тут есть много НО. И вообще - зачем веб-серверу MAC-адрес посетителя?
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330220
krevedko13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
phpz, банить же :)

Alibek B, в любом случае вам придется дергать внешнюю команду (тот же arp) т.к. сам веб-сервер уже не в курсе о МАС-адресах.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330242
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Веб-сервер используется для авторизации пользователей хотспота, поэтому мне нужно делать некоторые проверки по MAC-адресу.
Впрочем если все-равно нужно использовать внешнюю команду, то лучше это будет arp.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330763
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Веб-сервер используется для авторизации пользователей хотспота, поэтому мне нужно делать некоторые проверки по MAC-адресу.
Впрочем если все-равно нужно использовать внешнюю команду, то лучше это будет arp.
а нафига веб серверу знать маки? на веб сервере раздавайте пароли(временные) или генерите както под юзера и все. маки тут никаким боком.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330819
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uа нафига веб серверу знать маки?
Вообще-то это не просто веб-сервер, а сервер авторизации.
Поэтому знать MAC-адреса (на основании которых авторизация осуществляется) будет нелишним.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330832
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.MAC-адреса (на основании которых авторизация осуществляется)Это пока пользователь не стырит чужой мак и не пропишет его на свою карту...
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330923
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Вообще-то это не просто веб-сервер, а сервер авторизации.
а в чем заключается авторизация? она построена только на знании мак адреса чтоли?
паролей нет?
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38330957
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleЭто пока пользователь не стырит чужой мак и не пропишет его на свою карту...
Эта задача выходит за рамки веб-сервера.
Для защиты от подделки MAC-адреса используются возможности коммутаторов (обычно эта функция называется ip-source-guard).
Поэтому на веб-сервере можно считать, что MAC-адреса не подделаны.

r uа в чем заключается авторизация? она построена только на знании мак адреса чтоли?
Для гостевого доступа (снижена скорость, не все ресурсы доступны) только по MAC-адресу. Доступ дается любому обратившемуся, но ограничивается слишком высокая активность.
Для неограниченного доступа MAC+PIN.
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38333314
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите составить регулярное выражение для получения результатов.
arp возвращает примерно такой запрос:
Код: plaintext
? (10.10.1.3) at dc:9f:db:3e:7c:27 on vlan900 expires in 1197 seconds [vlan]
Функция у меня такая:
Код: php
1.
2.
3.
4.
5.
6.
7.
function GetMAC($ip)
{
	$mask = "/\((0-9\.)+\) at ([-0-9a-f]|[-0-9a-zA-Z)+ on (0-9a-zA-Z_-)+/";
	$res = shell_exec('arp -n ' . $ip);
	preg_match_all($mask,$res,$m);
	return var_dump($m);
}


но не работает, возвращает warning (Warning: preg_match_all(): Compilation failed: range out of order in character class at offset 56).
Что в маске указано неправильно?
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38333339
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.,

Код: php
1.
2.
3.
$mac = '? (10.10.1.3) at dc:9f:db:3e:7c:27 on vlan900 expires in 1197 seconds [vlan]';
preg_match('/\s+([\da-f:]+)\s+/i', $mac, $m);
var_dump($m);
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38333357
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
BAMP - Как узнать MAC-адрес посетителя.
    #38333363
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Копипаст из рабочего перлового скрипта:

Код: php
1.
(my $ip, my $mac) = $a=~/\(([\d\.]{7,15})\).*(([\da-f]{2}\:){5}[\da-f]{2})/i;
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / BAMP - Как узнать MAC-адрес посетителя.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]