Comment puis-je connaître l'adresse MAC du visiteur sur linux hosting (nginx)?Obtenir l'adresse MAC
De l'utilisateur ethernet.
Merci.
Comment puis-je connaître l'adresse MAC du visiteur sur linux hosting (nginx)?Obtenir l'adresse MAC
De l'utilisateur ethernet.
Merci.
Vous ne pouvez pas obtenir cela via PHP.
Le protocole de réseau est utilisé dans une pile. Lorsque vous effectuez des communications HTTP, votre serveur Web utilise le protocole HTTP, responsable des communications de haut niveau. Ce protocole est implémenté au sommet du protocole TCP (qui apporte des connexions et des numéros de ports), qui est à son tour implémenté au sommet du protocole IP (v4 ou v6, qui apporte des adresses IP pour l'identification), qui Le virage est implémenté en haut du protocole Ethernet.
Le protocole Ethernet est celui avec lequel vous devez travailler. Il a à la fois l'adresse MAC source et l'adresse MAC de destination. Cependant, malheureusement, il y a beaucoup de problèmes. Tout d'abord, les données qu'il transmet est probablement difficile d'accès: je dis «probablement» parce que je n'ai jamais trébuché sur la façon de le faire. Deuxièmement, tout comme vous obtenez l'adresse du routeur de votre client lorsqu'il accède à votre site, vous obtenez l'adresse MAC du routeur de votre client au niveau Ethernet. À moins qu'ils ne traversent aucun routeur (ce qui n'arriverait que si votre serveur était directement connecté à votre machine client sans que le routeur interfère, car il y a beaucoup de routeurs qui relaient les données vers d'autres parties d'Internet), Il n'y a aucune chance que l'adresse MAC que vous recevrez soit celle de votre client.
Troisièmement, Apache n'essaiera jamais d'accéder à ces données.Et puisque PHP est "sandboxé" dans l'environnement réseau qu'Apache lui donne, il n'y a aucun moyen de revenir au protocole Ethernet.
L'accès à l'adresse MAC d'un visiteur à partir d'un site Web, à partir de PHP, n'est donc pas possible.
EDIT Semble que vous avez supprimé la partie PHP de votre question. Donc, évidemment, le dernier point ne sera plus valable.
Vous ne pouvez pas obtenir cela avec php il n'est pas inclus dans http
d'une autre manière? – James
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 pour exemple), ne pense pas que vous pouvez l'obtenir avec php.
La question plus générale is this one. Puisque tout PHP doit fonctionner avec (je suppose que c'est PHP qui tourne sur votre serveur web, ici) est la requête HTTP, vous ne pourrez pas obtenir l'adresse MAC. Cela nécessite quelque chose qui court du côté du visiteur.
Cela peut ou ne pas fonctionner. Je sais que cela fonctionnera sur les clients LAN, mais pour les clients externes, cela peut être incorrect. Je ne connais pas trop mon réseau, mais ça vaut le coup, n'est-ce pas?
Si vous exécutez la commande arp -a sur windows ou linux, il imprimera vos enregistrements arp, que vous pourrez alors analyser pour le mac. A part cela, pour autant que je sache, apache (et donc php) ne donne pas seulement des adresses mac dans ses environs.
* Édité: Désolé, cela ne fonctionnera pas ... Le meilleur utilitaire est arping cependant qui vous donnera juste 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 fonctionnera ... Je don Je ne connais pas un meilleur outil, mais il semble un peu inutile de faire un ping (en root) pour une adresse MAC.
Maintenant que vous avez changé la question de PHP ... Le visiteur est-il sur le même LAN que l'hôte, pour commencer? –
non, l'utilisateur est d'autres lan – James
Ensuite, selon [l'autre question que j'ai référencé] (http://stackoverflow.com/questions/3309122/get-mac-address-from-http-request), vous êtes jolie beaucoup de chance. Dans quel but avez-vous besoin de l'adresse MAC? Peut-être pouvons-nous suggérer une solution alternative. –