A voir également:
- Php get device mac address
- Adresse mac - Guide
- Nettoyer son mac - Guide
- @ Sur mac - Guide
- Temperature mac - Guide
- Commande terminal mac - Guide
18 réponses
wAx
Messages postés
1590
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2011
202
26 oct. 2006 à 19:18
26 oct. 2006 à 19:18
Bonjour,
Il faut savoir qu'il est impossible de connaitre l'adresse mac de la machine qui se connecte dès qu'il y a le moindre routeur entre la machine et le serveur.
Les adresses mac sont utilisées pour faire passer l'information de routeur en routeur, du poste client jusqu'au serveur et vice versa lorsque le serveur répond.
Cela signifie que l'adresse mac de la machine qui se connecte n'est visible que pour le premier routeur (souvent meme la 'box' freebox, livebox etc) ensuite, le second intermediaire voit les données qui arrivent en provenance de l'adresse mac de la box etc etc
du coup, le serveur qui heberge le site voit TOUTES les connexions arriver avec pour adresse mac, celle de son routeur (evidement sauf si la requete vient du meme reseau que le serveur lui meme)
Reccuperer les adresses mac est donc inutile et presque toujours impossible.
a bientot
wAx
Il faut savoir qu'il est impossible de connaitre l'adresse mac de la machine qui se connecte dès qu'il y a le moindre routeur entre la machine et le serveur.
Les adresses mac sont utilisées pour faire passer l'information de routeur en routeur, du poste client jusqu'au serveur et vice versa lorsque le serveur répond.
Cela signifie que l'adresse mac de la machine qui se connecte n'est visible que pour le premier routeur (souvent meme la 'box' freebox, livebox etc) ensuite, le second intermediaire voit les données qui arrivent en provenance de l'adresse mac de la box etc etc
du coup, le serveur qui heberge le site voit TOUTES les connexions arriver avec pour adresse mac, celle de son routeur (evidement sauf si la requete vient du meme reseau que le serveur lui meme)
Reccuperer les adresses mac est donc inutile et presque toujours impossible.
a bientot
wAx
Ssylvainsab
Messages postés
2884
Date d'inscription
samedi 29 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
825
19 oct. 2006 à 13:22
19 oct. 2006 à 13:22
Salut.
Pour l'ip, c'est la variable :
$_SERVER['REMOTE_ADDR']
par exemple :
Pour l'adresse mac, je ne sais pas, mais je crois que c'est selon les composants (carte ethernet, wi-fi...) et pas l'ordinateur.
https://www.php.net/manual/fr/reserved.variables.php
a plus
Pour l'ip, c'est la variable :
$_SERVER['REMOTE_ADDR']
par exemple :
<?php //on affiche l'adresse ip echo $_SERVER['REMOTE_ADDR']; ?>
Pour l'adresse mac, je ne sais pas, mais je crois que c'est selon les composants (carte ethernet, wi-fi...) et pas l'ordinateur.
https://www.php.net/manual/fr/reserved.variables.php
a plus
wAx a tout a fait raison, il est impossible de connaitre l'adresse MAC de la machine depuis un script php.
Si tu bricoles un peu en créant un mini logiciel que tu envoie à chaque connexion du client tel un cookie mais qui s'exécute chez le client pour lui demander son adresse MAC et le renvoie à ton serveur et la tu pourras t'amuser à le stocker sur une base sql et les tester à chaque connexion de l'utilisateur...
Autrement dit, d'une part ca sera très inconfortable pour l'utilisateur, d'autre part, une sorte de script qui s'exécute chez le client, vraiment pas génial, et de plus, bonne chance pour programmer tout ca :-D
Si tu bricoles un peu en créant un mini logiciel que tu envoie à chaque connexion du client tel un cookie mais qui s'exécute chez le client pour lui demander son adresse MAC et le renvoie à ton serveur et la tu pourras t'amuser à le stocker sur une base sql et les tester à chaque connexion de l'utilisateur...
Autrement dit, d'une part ca sera très inconfortable pour l'utilisateur, d'autre part, une sorte de script qui s'exécute chez le client, vraiment pas génial, et de plus, bonne chance pour programmer tout ca :-D
Bonjour à tous,
en lisant ce sujet, j'en suis venu à me poser une question dont la réponse pourrait peut-être permettre d'avoir l'adresse mac du client (le dernier post est certes vieux mais ça peut toujours être utile à d'autres).
Le javascript (si j'ai bien suivi les différents tutos que j'ai lu ^^) s'exécute sur le pc client...un script js peut-il, donc, récupérer l'adresse mac (pas de problème de "routage" vu que c'est sur le pc même) et la renvoyer dans une variable? On pourrait peut-être y avoir accès, non?
en lisant ce sujet, j'en suis venu à me poser une question dont la réponse pourrait peut-être permettre d'avoir l'adresse mac du client (le dernier post est certes vieux mais ça peut toujours être utile à d'autres).
Le javascript (si j'ai bien suivi les différents tutos que j'ai lu ^^) s'exécute sur le pc client...un script js peut-il, donc, récupérer l'adresse mac (pas de problème de "routage" vu que c'est sur le pc même) et la renvoyer dans une variable? On pourrait peut-être y avoir accès, non?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<?php
ob_start();
system("ipconfig /all");
$mycom=ob_get_contents();
ob_clean();
$findme = "physique";
$pmac = strpos($mycom, $findme);
$mac=substr($mycom,($pmac+36),17);
echo $mac;
?>
me renvoie 15-9E-36-F6-06
c'est pas ça ???
ob_start();
system("ipconfig /all");
$mycom=ob_get_contents();
ob_clean();
$findme = "physique";
$pmac = strpos($mycom, $findme);
$mac=substr($mycom,($pmac+36),17);
echo $mac;
?>
me renvoie 15-9E-36-F6-06
c'est pas ça ???
Si les clients qui vont se connecter sont situés sur le même LAN, on peut faire un petit script en PHP qui lance une commande système.
$resultat=system("arp -a");
fournira toutes les MAC associées aux IP qui viennent de se connecter sur le serveur... puis ensuite un traitement de chaines de caractères permettra de retrouver la MAC d'une IP en particulier.
Mais ça ne fonctionnerait que sur un LAN. Les MAC ont une signification locale.
$resultat=system("arp -a");
fournira toutes les MAC associées aux IP qui viennent de se connecter sur le serveur... puis ensuite un traitement de chaines de caractères permettra de retrouver la MAC d'une IP en particulier.
Mais ça ne fonctionnerait que sur un LAN. Les MAC ont une signification locale.
Utilisateur anonyme
20 oct. 2006 à 22:12
20 oct. 2006 à 22:12
ll'adresse mac est inscrite à la carte réseau (qu'ellesoit intégrée ou non a la carte mere)
La théorie du protocole iso je connai mais c pas se que je demande. enifn merci quand même
Si qq'un a une idée tjrs là
Si qq'un a une idée tjrs là
wAx
Messages postés
1590
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2011
202
26 oct. 2006 à 23:53
26 oct. 2006 à 23:53
Bsoir,
Dans ce cas, connaissant la theorie du proto ethernet et le modele iso tu devrais deja savoir que si ton client n'est pas sur le meme reseau physique, il est impossible d'avoir l'adresse mac
De plus, c'est une info que ne remonte pas jusqu'à la couche 7, là où toi tu travailles. L'ip fait partie des variables d'environnement du serveur web et donc est accessible au php via divers moyen. La mac n'est pas accessible...
Bon courage
Dans ce cas, connaissant la theorie du proto ethernet et le modele iso tu devrais deja savoir que si ton client n'est pas sur le meme reseau physique, il est impossible d'avoir l'adresse mac
De plus, c'est une info que ne remonte pas jusqu'à la couche 7, là où toi tu travailles. L'ip fait partie des variables d'environnement du serveur web et donc est accessible au php via divers moyen. La mac n'est pas accessible...
Bon courage
Salut..WAX .vous savez c est vrai d'un point de vu fonctionnel, mais il peut y avoir nuance selon moi, si tel est le cas pour les adresses MAC, je dirait que c'est valable pour les adresses IP, car avant de sortir du réseau l'adresse de la machine locale est mapée à une adreese publique et un numero de port(Le protocole NAT), et donc l'adresse IP en local n'est pas visible sur la toile, et la le meme problème se pose. Moi je pense qu'il est possible de connaitre l'adresse MAC, ou bien cette fonctionnalité n'est pas prise en compte.
Qu'en pensez-vous?
Merci!!!
Qu'en pensez-vous?
Merci!!!
bud35000
Messages postés
150
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
21 septembre 2016
103
7 sept. 2007 à 09:12
7 sept. 2007 à 09:12
D'accord mais si c'est sur le même réseau, on peut récupérer cette adresse MAC avec arp -a . et cette autre commande genre nbtstat -a "@ip" .
Mais j'aimerai savoir aussi si y aurait pas un moyen d'automatiser cette tâche pour inscrire les adresses MAC dans une table sql en la faisant correspondre avec son IP fixe.
Donc soit en php ou autre mais j'imagine qu'il y a une requête qui existe.
Avec un script en batch, on peut visualiser à partir des IP les adresses MAC correspondante. Est-il possible de récupérer ces valeurs sous forme de variables.
Mais j'aimerai savoir aussi si y aurait pas un moyen d'automatiser cette tâche pour inscrire les adresses MAC dans une table sql en la faisant correspondre avec son IP fixe.
Donc soit en php ou autre mais j'imagine qu'il y a une requête qui existe.
Avec un script en batch, on peut visualiser à partir des IP les adresses MAC correspondante. Est-il possible de récupérer ces valeurs sous forme de variables.
bonjour quelqu'un pourrait m'aider à trouver un logiciel ou un programme en php, shell, perl ou encore cygwin qui me permetterais de retrouver une adresse mac sur le port d'un switch ! C'est un proget que je dois réaliser pour mon stage mais je n'ai aucune idée de comment m'y prendre !! J'aurais bien besoin d'un petit coup de main svp merci d'avance !!
Je dirais que vous n'avez pas pigé le truc, du coup on reprend tranquillement!
L'adresse mac est une adresse défini dans le composant du pc (ethernet ou wifi). Pour y accéder on ne peut passer QUE par la machine.
J'ai lu plus haut qu'un petit malin pensait qu'on pourrait utiliser le JavaScript pour récupérer l'adresse mac... et bien il faudra continuer à lire les tutos JS! Le js ne permet pas d'accédé aux infos du pc, en effet il se limite au navigateur. C'est pour des raisons de sécurité que les créateurs du langage JS ont limité sont champ d'action, et on les comprend :) loll
Une façon de récupérer l'adresse mac (parce que oui y en a une, quand même) est de faire un applet java ! Qui renverra les infos depuis la machine. Moi perso... mon firewall bloquera sa tentative de connexion extérieur... ou l'un des routeurs... lol et cela si j'ai accepté l'applet !
Du coup le plus simple et de demander aux visiteurs ... !
L'adresse mac est une adresse défini dans le composant du pc (ethernet ou wifi). Pour y accéder on ne peut passer QUE par la machine.
J'ai lu plus haut qu'un petit malin pensait qu'on pourrait utiliser le JavaScript pour récupérer l'adresse mac... et bien il faudra continuer à lire les tutos JS! Le js ne permet pas d'accédé aux infos du pc, en effet il se limite au navigateur. C'est pour des raisons de sécurité que les créateurs du langage JS ont limité sont champ d'action, et on les comprend :) loll
Une façon de récupérer l'adresse mac (parce que oui y en a une, quand même) est de faire un applet java ! Qui renverra les infos depuis la machine. Moi perso... mon firewall bloquera sa tentative de connexion extérieur... ou l'un des routeurs... lol et cela si j'ai accepté l'applet !
Du coup le plus simple et de demander aux visiteurs ... !
mon firewall bloquera sa tentative de connexion extérieur...
A condition que ce soit un firewall logiciel installé sur la machine cliente
ou l'un des routeurs.
non. Comment un routeur fait la différence entre la connexion de l'appel et celle du navigateur lorsque l'utilisateur est en train de surfer ?
Mais bon, tout ça c'est bien beau mais je ne vois toujours pas l'intérêt de récupérer l'@ mac...
Peut etre que ca vous interesse :
https://www.developpez.net/forums/d530/systemes/reseaux/developpement/recuperer-adresse-mac/
https://www.developpez.net/forums/d530/systemes/reseaux/developpement/recuperer-adresse-mac/
bon c'est unbe technique d'ancien mais si tu as l'adresse ip de la machine et que tu veux l'adresse mac, tu fais:
ping <adresse ip de la machine> au boup de 2 3 ping tu stoppes
et tu lances un arp -a et tu auras l'adresse mac correspondante.
Tu dois pouvoir lancer des commandes avec php donc tu devrai t'en sortir.
a++
ps: cette réponse arrive surement trop tard mais ça pourra servir à d'autres
ping <adresse ip de la machine> au boup de 2 3 ping tu stoppes
et tu lances un arp -a et tu auras l'adresse mac correspondante.
Tu dois pouvoir lancer des commandes avec php donc tu devrai t'en sortir.
a++
ps: cette réponse arrive surement trop tard mais ça pourra servir à d'autres
Oui l'adrese mac est de toute facon identifée sur le pc.
Mais je ne trouve pas de moyen de la retranscrire par un script.
Mais je ne trouve pas de moyen de la retranscrire par un script.
Ssylvainsab
Messages postés
2884
Date d'inscription
samedi 29 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
825
21 oct. 2006 à 11:19
21 oct. 2006 à 11:19
C'est dire, tu n'as pas trouvé de moyen de connaitre l'adresse MAC ?
j'ai trouvé pour l'ipm ais l'adresse mac j'arrive pas a la trouver grace a une code php ou javascript.
si qq'un a une idée....
si qq'un a une idée....
ingenieurinfo
Messages postés
6
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
23 décembre 2013
23 déc. 2013 à 11:22
23 déc. 2013 à 11:22
Bonjour,
si ton application est en intranet et ton serveur est Linux. Tu peux récupérer l'adresse mac du client comme suit:
<?php
// code fonctionne sous Debian 7.0, pour d'autre version et distribution de Linux tu peux changer la commande "cut" pour récupérer le champ
$mac=system("/usr/sbin/arp -a|grep ".$_SERVER['REMOTE_ADDR']."\)|cut -f4 -d\" \"");
?>
si ton application est en intranet et ton serveur est Linux. Tu peux récupérer l'adresse mac du client comme suit:
<?php
// code fonctionne sous Debian 7.0, pour d'autre version et distribution de Linux tu peux changer la commande "cut" pour récupérer le champ
$mac=system("/usr/sbin/arp -a|grep ".$_SERVER['REMOTE_ADDR']."\)|cut -f4 -d\" \"");
?>
La technique de l'ARP ne fonctionne que pour les sous réseaux proches.
Si la machine à identifier est trop éloignée, tu ne verras jamais l'adresse MAC remonter dans les tables de résolution d'adresse de ton réseau.
Même en insistant lourdement.
Une option est d'exécuter un code java (ou autre) sur la machine distante.
Si la machine à identifier est trop éloignée, tu ne verras jamais l'adresse MAC remonter dans les tables de résolution d'adresse de ton réseau.
Même en insistant lourdement.
Une option est d'exécuter un code java (ou autre) sur la machine distante.
Une autre solution :winck: est de hacker tous les routeurs de l'internet ...
mais ça, il fallait le faire avant la conception de ces routeurs, en intégrant le code dans les compilateurs de silicium qui ont servi ensuite à concevoir les routeurs, sous la forme d'une "fonction cachée pour maintenance ou optimisation du routage"...
mais ça, il fallait le faire avant la conception de ces routeurs, en intégrant le code dans les compilateurs de silicium qui ont servi ensuite à concevoir les routeurs, sous la forme d'une "fonction cachée pour maintenance ou optimisation du routage"...