ホームページ >バックエンド開発 >PHPチュートリアル >PHP でクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?
接続されたクライアントの ID を理解することは、ネットワークの管理と監視の目的で重要となることがよくあります。 PHP には、これらのクライアントの MAC アドレスと IP アドレスの両方を取得するメソッドが用意されています。
サーバーの IP アドレスの取得は、$_SERVER['SERVER_ADDR'] を使用することで簡単に行えます。 MAC アドレスについては、Linux の netstat -ie や Windows の ipconfig /all などのシステム コマンドの出力を解析できます。
クライアントの IP アドレスには、$ を使用して簡単にアクセスできます。 _SERVER['REMOTE_ADDR'].
残念ながら、通常、次の場合を除き、クライアントの MAC アドレスを取得することはできません。
そのような場合、arp -n (Linux) または arp -a (Windows) の出力を解析すると、MAC が得られます。 address.
コマンド出力を解析する 1 つの方法は、バッククォートを使用することです。
$ipAddress = $_SERVER['REMOTE_ADDR']; $macAddr = false; # Execute external command and break output into lines $arp = `arp -a $ipAddress`; $lines = explode("\n", $arp); # Search for output line describing the IP address foreach ($lines as $line) { $cols = preg_split('/\s+/', trim($line)); if ($cols[0] == $ipAddress) { $macAddr = $cols[1]; } }
クライアントが同じ LAN 上にない場合、通常、標準的な方法では MAC アドレスを取得することはできません。クライアントは自発的にこの情報を提供する必要がある場合があります。
以上がPHP でクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。