Quelqu'un peut-il me donner des indications sur la façon de choisir l'adresse MAC de l'utilisateur à partir d'une requête HTTP? Les utilisateurs seront de en dehors de mon réseau.Comment puis-je obtenir une adresse MAC à partir d'une requête HTTP?
Répondre
Cela dépend de la configuration de votre réseau. Mais probablement non.
Voici un petit rappel sur Ethernet et IP. L'adresse MAC est une adresse unique de la carte réseau. Il est utilisé pour identifier pour quel utilisateur sur le segment de réseau un paquet est. Vous pouvez utiliser ARP pour obtenir une adresse MAC pour une adresse IP. Mais cela fonctionne comme prévu seulement si vous êtes sur le même segment de réseau. Donc, la question est: qu'est-ce qu'un segment de réseau? Cela dépend de la technologie que vous utilisez, mais voici les cas courants. Un réseau sans fil entier est un segment de réseau. Chaque utilisateur du réseau peut parler via Ethernet à tous les autres utilisateurs. Sur les réseaux câblés, cela dépend du matériel. Si vous avez un bon vieux BNC ou un hub, vous avez un segment de réseau avec toutes les utilisations. Encore une fois chaque utilisateur peut parler à un autre. Avec un commutateur dans le réseau, un segment de réseau est seulement un câble qui vous connecte au commutateur. Ici, vous ne pouvez parler au commutateur que via Ethernet. Tous les autres utilisateurs ont besoin d'au moins IP.
Dommage que la plupart des situations avec HTTP, qui s'appuie sur TCP/IP, vous êtes 99,99% jamais dans le même segment de réseau que votre utilisateur. Vous pouvez utiliser ARP, mais seulement l'adresse MAC du premier saut. Cela va mieux, selon votre matériel, vous ne pouvez même pas être sur un réseau IP basé sur Ethernet; ATM par exemple ...
Salut Sean, Merci d'avoir dérouté la situation plus loin! lol, pas au sérieux, bon poste informatif, acclamations –
Huh? Wha? Sauf si vous utilisez une technique qui peut être considérée comme violant la confidentialité de base des utilisateurs, comme l'installation d'un plugin/active-x/tojan sur le système de l'utilisateur, la réponse est: ** Non, techniquement impossible **. J'ai seulement essayé d'expliquer pourquoi ... Peut-être que vous ou quelqu'un d'autre peut apprendre et comprendre ... – rioki
Je pense que ce n'est pas tout à fait correct: les ports du commutateur ne sont pas le même segment, mais on peut parler via Ethernet entre différents commutateurs ports. Il y a un cache ARP sur un commutateur pour cela. – EFraim
Cela n'est pas possible, sauf si vous avez l'intention de créer un composant ActiveX, auquel cas il ne fonctionnera que sur IE.
Un composant activeX ne serait pas hors de question, mais l'adresse MAC sera-t-elle utilisable? –
utilisable pour quoi? – nos
validation vs une valeur détenue dans la base de données? –
Je ne pense pas qu'il existe un moyen de le faire dans ASP.NET.
MAC est une propriété d'un paquet TCP et, au niveau HTTP, il n'y a pas de paquets ou de MAC (par exemple, une seule requête HTTP peut être assemblée avec plusieurs paquets TCP).
Vous pouvez essayer d'utiliser un renifleur de paquets (comme WireShark) pour capturer les paquets TCP, puis les analyser pour extraire les MAC et les mapper aux requêtes HTTP.
De toute façon, vous n'obtiendrez pas de données utiles à moins que l'utilisateur se trouve dans le même segment de réseau que votre serveur.
UPD. Comme cela a été souligné dans les commentaires, j'ai mélangé les couches réseau. L'adresse MAC est une propriété de Ethernet frame, pas un paquet TCP.
La conclusion est toujours correcte, cependant.
L'adresse MAC est dans un paquet tcp? Depuis quand? Les adresses MAC proviennent d'une couche de transport beaucoup plus faible et ne sont même pas dans l'en-tête de paquet IP. –
Oui, les adresses MAC sont très bas niveau –
Ce qu'il voulait dire était un paquet en général. Dans le cas de TCP, vous n'avez pas de paquets, c'est un flux. Dans le cas d'IP, vous avez des cadres ... Et normalement, vous ne pouvez pas accéder à l'un de ceux-ci en code de mode utilisateur. – rioki
hi, Désolé, j'ai oublié de dire que c'est un site asp.net. Cheers –
copie possible de [Obtenir le MAC de l'utilisateur du site ASP.NET.] (Http://stackoverflow.com/questions/1342738/get-the-mac-of-asp-net-website-user) – Oded
- 1 Déjà répondu à la question précédente de Richard (http://stackoverflow.com/questions/3308258/iis7-restrict-website-access-by-mac-address). –