Posez votre question Signaler

Récuperer l'ip et la mac par un script PHP

Thomas - Dernière réponse le 10 févr. 2012 à 03:38
Bonjour tout le monde,
Je dois créer, dans le cadre de mon tfe, une page php dépendant d'une base de donnée mysql.
Cette page permet a un client de s'identifier.
Se qui permet d'envoyer l'identifiant, l'ip et la mac dans la base d e donnée.
Ma question: je recherche un script php permettant de récolter l'ip et la mac de l'utilisateur pour l'envoyer dans la base de donnée
Merci
Lire la suite 

Récuperer l'ip et la mac par un script PHP »

25 réponses
Réponse
+22
moins plus
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
Ajouter un commentaire
Réponse
+9
moins plus
Salut.

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.

http://fr2.php.net/manual/fr/reserved.variables.php

a plus
Ajouter un commentaire
Réponse
+8
moins 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
Ajouter un commentaire
Réponse
+2
moins plus
<?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 ???
SupKawai - 23 janv. 2011 à 17:54
C'est la mac du Serveur, par
contre c'est toujours impossible en php pour récupérer
celle du Cient !
wAx - 31 janv. 2011 à 11:49
Toujours impossible et ça ne changera pas !
Ajouter un commentaire
Réponse
+2
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
ll'adresse mac est inscrite à la carte réseau (qu'ellesoit intégrée ou non a la carte mere)
Ajouter un commentaire
Réponse
+1
moins plus
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à
wAx- 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
mmlpipf - 10 févr. 2012 à 03:38
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!!!
Ajouter un commentaire
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
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 ... !
wAx - 25 févr. 2010 à 16:49
entre la connexion de l'applet et cell
pardon, j'ai validé trop vite
IRAH - 31 mars 2010 à 10:50
Peut etre que ca vous interesse :
http://www.developpez.net/...
dqs - 5 déc. 2011 à 23:49
un script ne veut pas forcément dire Javascript. Le java ne peut pas accédée au fichiers? si.
De même pour bien d'autres language.d
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
C'est dire, tu n'as pas trouvé de moyen de connaitre l'adresse MAC ?
Ajouter un commentaire
Réponse
+0
moins plus
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....
Ajouter un commentaire
Réponse
+0
moins plus
si j'y pense je demanderai à mon prof d'informatique...
Ajouter un commentaire
Réponse
+0
moins plus
mmm
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Réponse
+0
moins plus
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 !!
Ajouter un commentaire
Ce document intitulé « Récuperer l'ip et la mac par un script PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?