Pergunta
Como sei que o endereço MAC do visitante na Hosting Linux (NGINX)?
Do usuário Ethernet.
Obrigado.
Solução
Você não pode obter isso através do PHP.
O protocolo de redes é usado em uma pilha. Ao fazer comunicações HTTP, seu servidor da Web usa o protocolo HTTP, responsável pelas comunicações de alto nível. Este protocolo é implementado no topo do protocolo TCP (que traz conexões e números de porta semelhantes a fluxos), que por sua vez são implementados na parte superior do protocolo IP (V4 ou V6, que trazem endereços IP para identificação), que em A curva é implementada no topo do protocolo Ethernet.
O protocolo Ethernet é o que você precisa trabalhar. Possui o endereço MAC de origem e o endereço MAC de destino. No entanto, infelizmente, há muitos problemas com isso.
Primeiro, os dados que ele transmitem é provavelmente difícil de acessar: eu digo "provavelmente" porque nunca tropecei em como fazê -lo.
Segundo, assim como você obtém o endereço do roteador do seu cliente ao acessar seu site, você obtém o endereço MAC do roteador do seu cliente no nível Ethernet. A menos que eles não percorram nenhum roteador (o que só aconteceria se seu servidor fosse diretamente conectado à sua máquina cliente sem nenhum roteador interferindo, porque há muitos roteadores por aí que retransmitem os dados para outras partes da Internet), aí Não há chance de o endereço MAC que você receberá será o de seus clientes.
Terceiro, o Apache nunca tentará acessar esses dados. E como o PHP é "Sandboxed" no ambiente de rede que o Apache dá, não há como voltar ao protocolo Ethernet.
Portanto, o acesso ao endereço MAC de um visitante de um site, do PHP, não é possível.
EDITAR Parece que você tirou a parte do PHP da sua pergunta. Então, obviamente, o último ponto não permanece mais.
Outras dicas
Você não pode conseguir isso com PHP, não está incluído no HTTP
A questão mais geral é este. Como todo o PHP precisa trabalhar (suponho que este seja o PHP em execução no seu servidor da web, aqui) é a solicitação HTTP, você não poderá obter o endereço MAC. Isso requer algo em funcionamento do lado do visitante.
Isso pode ou não funcionar. Sei que funcionará em clientes da LAN; no entanto, para clientes externos, pode estar incorreto. Eu não conheço demais minha rede, mas vale a pena tentar, certo?
Se você executar o comando ARP -A no Windows ou Linux, ele imprimirá seus registros ARP, que você poderá analisar para o Mac.
Fora isso, até onde eu sei, o Apache (e, portanto, o PHP) não apenas fornece endereços MAC em seus vars Env.
*Editado: Desculpe, isso não funcionará ... a melhor concessionária é, no entanto, isso apenas dará o Mac do seu roteador.
Se você quiser fazer isso, os clientes precisarão estar diretamente conectados ao seu servidor, sem roteador entre ...
No entanto, se for esse o caso, o arping funcionará ... não conheço uma ferramenta melhor, mas parece um pouco desperdiçado fazer um ping (na raiz) por apenas um endereço MAC.
O endereço MAC é visível apenas para o provedor de rede se eu estiver correto (seu host da Internet pode ver o endereço MAC do seu roteador, por exemplo), não pense que você pode obtê -lo com o PHP.