Dieser Artikel soll Entwicklern dabei helfen, die MAC- und IP-Adressen von Clients abzurufen, die mit ihren PHP-Skripten verbunden sind. Zu verstehen, wie diese Informationen erfasst werden, ist für verschiedene netzwerkbezogene Anwendungen von entscheidender Bedeutung.
Das Abrufen der IP-Adresse des Servers ist in PHP mit $_SERVER['SERVER_ADDR'] ganz einfach.
Das Abrufen der MAC-Adresse des Servers ist keine native PHP-Funktion. Ein Ansatz besteht jedoch darin, die Ausgabe externer Befehle wie netstat -ie unter Linux oder ipconfig /all unter Windows zu analysieren.
Die IP-Adresse des Clients ist über $_SERVER leicht verfügbar ['REMOTE_ADDR'].
Leider stellt PHP keine direkte zur Verfügung Mittel zum Abrufen der MAC-Adresse des Clients. Unter einer bestimmten Bedingung ist dies jedoch möglich: wenn sich der Client im selben Ethernet-Segment wie der Server befindet. In solchen Fällen können Sie die Ausgabe von arp -n (Linux) oder arp -a (Windows) analysieren.
Externe Befehlsausgabe abrufen
Hier ist ein Beispiel dafür Verwenden von Backticks zum Abrufen der externen Befehlsausgabe:
$ipAddress = $_SERVER['REMOTE_ADDR']; $macAddr = false; $arp = `arp -a $ipAddress`; $lines = explode("\n", $arp); foreach ($lines as $line) { $cols = preg_split('/\s+/', trim($line)); if ($cols[0] == $ipAddress) { $macAddr = $cols[1]; } }
Beachten Sie, dass Sie seine MAC-Adresse nicht ohne zusätzliche clientseitige Mechanismen ermitteln können, um sie bereitzustellen, wenn sich der Client nicht in einem lokalen Netzwerk befindet.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP die MAC- und IP-Adressen verbundener Clients abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!