Мне нужно знать MAC-адрес подключаемых клиентов, как я могу это сделать в PHP?
Обычно проблема безопасности невозможен. Поскольку MAC-адрес – это ваш машинный адрес, и ваш сервер не может получить доступ к вашему компьютеру. MAC-адрес не передается за пределы локальной сети, к которой подключено устройство – он никогда не покидает маршрутизатор и не переходит на сервер.
Я не думаю, что это возможно, если его настольное приложение не работает на вашей машине пользователя.
Через Интернет ВЫ НЕ МОЖЕТЕ. НО, если клиент находится в локальной сети (LAN), создайте файл php и поместите это
shell_exec("sudo $arp -an ".$_SERVER['REMOTE_ADDR']);
line. NB: Обязательно добавьте пользователя apache по умолчанию в файл sudoers, запустив sudo visudo
и добавив "www-data ALL=NOPASSWD /usr/bin/arp"
в "www-data ALL=NOPASSWD /usr/bin/arp"
файла где-нибудь.
Вы не можете, если сами клиенты не отправят его в сообщении.
Это связано с тем, что MAC-адрес является локальным адресом, который используется только для локальных подключений. Компьютер использует его для связи с другими устройствами в локальной сети (ЛВС), такими как компьютеры, маршрутизаторы, принтеры и т. Д. Это также означает, что наличие MAC-адресов клиентов также бесполезно для длительной связи, поскольку они не находятся в той же сети.
Для связи с устройствами за пределами локальной сети (WAN) используются IP-адрес и номер порта. Маршрутизаторы используют IP-адрес, чтобы знать, куда отправлять данные, а номер порта обычно используется в конечном маршрутизаторе для преобразования общедоступного IP-адреса в частный IP-адрес (192.168.XX, 172.16.XX, 10.XXX) известный как NAT. Номер порта также используется компьютером назначения, чтобы узнать, к какой программе / процессу следует отправить данные.