VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Adresse MAC de l'usager de ma page web

smellems 116Messages postés 5 juillet 2005Date d'inscription - Dernière réponse le 25 janv. 2009 à 14:07
Bonjour,
je voudrais savoir si c'est possible de connaitre le MAC des usagers (visiteurs) de ma page web...????

n'importe quel language...

je ne trouve pas comment et je dois limiter le nombre de vote de chaque usager sans qu'ils aient à s'inscrire...

les cookies je n'aime pas ça alors je ne veux pas en envoyer aux autres....

merci d'avance.
Lire la suite 

Adresse MAC de l'usager de ma page web »

6 réponses
Réponse
+2
moins plus
J'ai une applet qui peut lire l'adresse mac du client qui se connecte à ton application.
Je voudrai que tu me donnes la suite parce que j'ai du mal à le faire fonctionner.


import java.net.InetAddress;
import java.io.InputStream;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.text.ParseException;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.applet.Applet;

/**
* Classe permettant de récupérer l'adresse MAC d'un ordinateur.
*/

public class appletMac extends Applet{

/**
* Méthode Main de l'application
*
* @param args
*/
public static void main (String args []){
appletMac macAppl = new appletMac();
macAppl.init();
}
public void init() {
restart();
}

public void restart() {
try
{
System.out.println("Information Réseau Local");
System.out.println(" Système d'exploitation : " +System.getProperty("os.name"));
System.out.println(" IP/Localhost: " +InetAddress.getLocalHost().getHostName());
System.out.println(" IP/Localhost: " +InetAddress.getLocalHost().getHostAddress());
System.out.println(" IP/Localhost: " +InetAddress.getLocalHost().getLocalHost());
System.out.println(" Adresse MAC : " + getMacAddress());
}
catch (Throwable t)
{
t.printStackTrace();
}
}

/**
* Méthode invoquant le traitement à effectuer pour récupérer l'adresse MAC
* de l'ordinateur sur lequel on se trouve suivant le système
* d'exploitation.
*
* @return L'adresse MAC
*
* @throws IOException
*/
public static String getMacAddress() throws IOException {
String os = System.getProperty("os.name");
try{
if (os.startsWith("Windows")){
return windowsParseMacAddress(windowsRunIpConfigCommand());
}else{
throw new IOException("Système d'exploitation non supporté : " + os);
}
}catch (ParseException ex){
ex.printStackTrace();
throw new IOException(ex.getMessage());
}
}

// *************** Commande de récupération des informations réseau ***************//

/**
* Méthode récupérant les informations réseau sous Windows
* @return toutes les informations réseau
* @throws IOException
*/
private static String windowsRunIpConfigCommand() throws IOException {
Process p = Runtime.getRuntime().exec("ipconfig /all");
InputStream stdoutStream = new BufferedInputStream(p.getInputStream());
StringBuffer buffer = new StringBuffer();
for (; ; ){
int c = stdoutStream.read();
if (c == -1)
break;
buffer.append( (char) c);
}
String outputText = buffer.toString();
stdoutStream.close();
return outputText;
}
private static String windowsParseMacAddress(String ipConfigResponse) throws ParseException

{

String localHost = null;

try

{

localHost = InetAddress.getLocalHost().getHostAddress();

}catch (java.net.UnknownHostException ex){
ex.printStackTrace();
throw new ParseException(ex.getMessage(), 0);
}
StringTokenizer tokenizer = new StringTokenizer(ipConfigResponse, "\n");
String lastMacAddress = null;
while (tokenizer.hasMoreTokens()){
String line = tokenizer.nextToken().trim();
// see if line contains IP address
if (line.endsWith(localHost) && lastMacAddress != null){
return lastMacAddress;
}
// see if line contains MAC address
int macAddressPosition = line.indexOf(":");
if (macAddressPosition <= 0)
continue;
String macAddressCandidate = line.substring(macAddressPosition + 1).trim();
if (windowsIsMacAddress(macAddressCandidate)){
lastMacAddress = macAddressCandidate;
continue;
}
}

ParseException ex = new ParseException("cannot read MAC address from [" +ipConfigResponse + "]", 0);
ex.printStackTrace();
throw ex;
}


private static boolean windowsIsMacAddress(String macAddressCandidate)

{

Pattern macPattern = Pattern

.compile("[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}");

Matcher m = macPattern.matcher(macAddressCandidate);

return m.matches();

}

}
kurosaki_itchigo - 25 janv. 2009 à 14:07
Bonjour, il marche cet Applet JAVA ?

Si oui comment l'utiliser ?

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
Le mieux que tu pourra avoir c'est l'adresse mac du dernier routeur qu'il y a
entre le PC qui surfe et ton serveur WEB.
Donc tout le monde devrait avoir la même adresse MAC en arrivant sur ton site.
Le seul système fiable reste de gérer un espace membre (inscription+login) afin
d'être sur que les personnes ne votent qu'une fois.
A+, Crabs
Ajouter un commentaire
Réponse
+0
moins plus
merci de ta réponce mais si quelqu'un d'autre a une idée....

si c'est possible d'avoir l'IP du client (pas seulement celle du dernier routeur) pourquoi est-ce que je ne peux pas faire de requète ARP pour savoir le MAC....???

merci encore.
crabs- 9 oct. 2005 à 08:37
ARP repose sur du broadcast UDP, qui ne passe pas les routeurs
Ajouter un commentaire
Réponse
+0
moins plus
donc non???
Ajouter un commentaire
Ce document intitulé « Adresse MAC de l'usager de ma page web » 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 ?