it-swarm.com.de

Wie bekomme ich die MAC-Adresse des Clients mit PHP?

Wie bekomme ich eine MAC-Adresse mit PHP oder Javascript?.

37
kim edgard

Sie können die MAC-Adresse des Clients in Javascript abrufen, wenn Windows ausgeführt wird, und Sie können ein ActiveX-Steuerelement installieren.

http://www.eggheadcafe.com/community/aspnet/3/10054371/how-to-get-client-mac-address.aspx

http://codingresource.blogspot.com/2010/02/get-client-mac-address-ip-address-using.html

0
Patrick Fisher

Die MAC-Adresse (die Adresse der lokalen Netzwerkschnittstelle auf niedriger Ebene) übersteht keine Hops durch IP-Router. Sie können die Client-MAC-Adresse nicht von einem Remote-Server finden.

In einem lokalen Subnetz werden die MAC-Adressen über das ARP-System IP-Adressen zugeordnet. Schnittstellen im lokalen Netz können IP-Adressen MAC-Adressen zuordnen. Wenn Ihre Pakete jedoch im lokalen Teilnetz (und über das Gateway) an das "echte" Internet weitergeleitet wurden, geht die ursprüngliche MAC-Adresse verloren. Vereinfacht ausgedrückt, umfasst jeder Subnetz-zu-Subnetz-Hop Ihrer Pakete dieselbe Art von IP-zu-MAC-Zuordnung für local routing in jedem Subnetz.

35
Pointy
echo GetMAC();

function GetMAC(){
    ob_start();
    system('getmac');
    $Content = ob_get_contents();
    ob_clean();
    return substr($Content, strpos($Content,'\\')-20, 17);
}

Verwenden Sie diese Funktion, um die Client-MAC-Adresse abzurufen:

function GetClientMac(){
    $macAddr=false;
    $arp=`arp -n`;
    $lines=explode("\n", $arp);

    foreach($lines as $line){
        $cols=preg_split('/\s+/', trim($line));

        if ($cols[0]==$_SERVER['REMOTE_ADDR']){
            $macAddr=$cols[2];
        }
    }

    return $macAddr;
}
5
ram ganesh

Hier ist ein möglicher Weg, dies zu tun:

$string=exec('getmac');
$mac=substr($string, 0, 17); 
echo $mac;

Die Idee ist, mit dem Befehl cmd ipconfig /all nur die Adresse mac zu extrahieren.

Was sein Index $ pmac + 33.

Und die Größe von Mac ist 17.

<?php
ob_start();
system('ipconfig /all');
$mycom=ob_get_contents();
ob_clean();
$findme = 'physique';
$pmac = strpos($mycom, $findme);
$mac=substr($mycom,($pmac+33),17);
echo $mac;
?>
2
mounir
<?php

    ob_start();
    system('ipconfig/all');
    $mycom=ob_get_contents(); 
    ob_clean(); 
    $findme = "Physical";
    $pmac = strpos($mycom, $findme); 
    $mac=substr($mycom,($pmac+36),17);

    echo $mac;
?>

Dies gibt die Mac-Adresse des Client-Rechners aus

0