Question

Comment puis-je connaître l'adresse MAC du visiteur sur l'hébergement linux (nginx)?

De l'utilisateur Ethernet.

Merci.

Était-ce utile?

La solution

Vous ne pouvez pas obtenir que grâce à PHP.

protocole de réseaux sont utilisés dans une pile. Lorsque vous effectuez HTTP communications, votre serveur Web utilise le protocole HTTP, responsable des communications de haut niveau. Ce protocole est mis en œuvre sur le dessus du protocole TCP (qui porte flux comme les connexions et les numéros de port), qui à son tour est mis en œuvre sur le dessus du protocole IP (v4 ou v6, qui apportent des adresses IP pour l'identification), qui tour est mis en œuvre sur la partie supérieure du protocole Ethernet.

Le protocole Ethernet est celui que vous auriez besoin de travailler avec. Il a à la fois l'adresse MAC de source et l'adresse MAC de destination. Cependant, la plupart malheureusement, il y a beaucoup de problèmes avec elle.

Tout d'abord, les données qu'il véhicule est sans doute difficile d'accès. Je dis « probablement » parce que je ne suis tombé sur la façon de le faire

En second lieu, un peu comme vous obtenez votre adresse routeur du client lorsqu'ils accèdent à votre site, vous obtenez l'adresse MAC de votre routeur client au niveau Ethernet. À moins qu'ils ne traversent un routeur (qui ne se produira que si votre serveur est directement branché à votre ordinateur client sans routeur interférer, car il y a beaucoup de routeurs là-bas que des données de relais vers d'autres parties de l'Internet), il n'y a aucune chance que l'adresse MAC que vous recevrez sera de votre client.

Troisièmement, Apache ne sera jamais essayer d'accéder à ces données. Et puisque PHP est « sandbox » dans l'environnement réseau Apache donne, il n'y a aucun moyen que vous pouvez rembobiner au protocole Ethernet.

accéder à l'adresse MAC d'un visiteur d'un site Web, de PHP, est impossible.

EDIT Il semble que vous avez pris la partie PHP de votre question. Alors, évidemment, le dernier point ne supporte plus.

Autres conseils

Vous ne pouvez pas obtenir ce avec php il n'est pas inclus dans http

La question plus générale est celui-ci . Étant donné que tous PHP doit travailler avec (je suppose que c'est en cours d'exécution PHP sur votre serveur web, ici) est la requête HTTP, vous ne serez pas en mesure d'obtenir l'adresse MAC. Cela exige quelque chose en cours d'exécution sur le côté du visiteur.

Cela peut ou peut ne pas fonctionner. Je sais que cela va travailler sur les clients du réseau local, mais pour des clients externes, il peut être incorrect. Je ne sais pas trop mon réseau, mais ça vaut le coup un droit de prise de vue?

Si vous exécutez la commande -a arp soit sur Windows ou Linux, il affichera vos dossiers arp, que vous pouvez ensuite analyser le mac.

En dehors de cela, pour autant que je sache, apache (et à cet effet php) ne se contente pas donner des adresses MAC dans son env vars.

* Modifié:. Désolé, ça ne marchera pas ... La meilleure utilité est arping mais qui va juste vous donner le mac de votre routeur

Si vous voulez faire cela, les clients devront être directement connecté à votre serveur, sans routeur entre ...

Toutefois, si tel est le cas, alors arping volonté travail ... Je ne sais pas d'un meilleur outil, mais il semble un peu inutile de faire un ping (en root) pour juste une adresse MAC.

L'adresse MAC est visible uniquement sur le fournisseur de réseau si je suis correct (votre hébergeur peut voir l'adresse MAC de votre routeur par exemple), ne pense pas que vous pouvez obtenir avec php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top