comment obtenir l'adresse MAC d'un client à partir de HttpServlet?
M'a demandé d'écrire une servlet qui recueille du client détails comme l'adresse ip, l'adresse mac, etc.
obtenir son IP est assez straight-forward (request.getRemoteAddr()
) mais je n'ai pas trouver un moyen élégant pour obtenir son adresse MAC.
semble raisonnable que le serveur web a accès à des données telles que l'adresse Mac, etc, car il reçoit les paquets TCP et tous. ces données enregistre quelque part? est-il accessible?
(Je travaille sur le dessus de Tomcat6)
Vous devez vous connecter pour publier un commentaire.
Vous n'allez probablement pas à obtenir ce que vous voulez. (l'adresse du client MAC)
Si le serveur est assez proche (directement connectés via un hub ou peut-être un interrupteur), vous pouvez ARP pour l'Adresse MAC. Si vous faites cela pour une IP à travers l'Internet, vous allez probablement obtenir l'intérieur de l'interface de la plus proche Routeur ou d'un Commutateur.
En raison de la façon TCP/IP fonctionne l'adresse MAC utilisée dans le cadre permettra de vous faire arnaquer et ré-assemblé à chaque à chaque saut de l'information entre le serveur et l'ordinateur hôte.
L'Encapsulation
TCP/IP... Vous ne pouvez pas obtenir l'Adresse MAC, c'est un taux trop faible de la couche d'autant que je sache
Je crois que les clients ont besoin pour permettre à pour cela à leur JVM:
Voir ce fil
Ce n'est pas possible par le biais de la classe HttpServlet.
La seule façon que je peux penser à éventuellement gettnig un des utilisateurs de l'adresse MAC est d'utiliser Javascript côté client pour le récupérer et ensuite le placer dans un cookie de votre serveur peut alors lire. Mais, je ne sais pas si c'est possible d'obtenir l'adresse MAC à l'aide de Javascript semble comme un risque de sécurité pour un navigateur pour vous permettre de faire ce qu'il se passe en dehors de la sandbox du navigateur, mais peut-être il y a quelques astuces autour de à faire.
ce script fonctionne le meilleur de 100% de probabilité qu'il fonctionne sur vous localhost, mais vous devez vérifier auprès de votre hébergeur
il y a un code php qui est beaucoup plus mieux