ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して、接続されているクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?

PHP を使用して、接続されているクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 09:31:10738ブラウズ

How Can I Retrieve Connected Clients' MAC and IP Addresses Using PHP?

PHP で接続されたクライアントの MAC アドレスと IP アドレスを取得する

PHP では、接続されているクライアントの MAC アドレスと IP アドレスを取得します。接続されたクライアントは、このサービスの可用性が異なるため、異なるアプローチを必要とします。

サーバーの IP アドレスと MAC アドレス

サーバーの IP アドレスは、$_SERVER['SERVER_ADDR' を通じてすぐに入手できます。 ]。 MAC アドレスについては、netstat -ie (Linux) または ipconfig /all (Windows) などのコマンドの出力を解析することで取得できます。

クライアント IP アドレス< /h3>

クライアントの IP アドレスは次から取得できます。 $_SERVER['REMOTE_ADDR'].

クライアント MAC アドレス

PHP でクライアントの MAC アドレスを決定するのは困難です。クライアントが同じイーサネット上に存在する場合を除き、通常はサーバーにアクセスできないためです。セグメント。

クライアントが同じ LAN 上に存在する場合、arp -n (Linux) または arp -a (Windows) の出力を解析すると MAC アドレスが得られます。バックティックを使用した PHP の例を次に示します。

<br>$ipAddress=$_SERVER['REMOTE_ADDR'];<br>$macAddr=false;</p>
<h1> 外部コマンドを実行し、出力を分割しますLines</h1>
<p>$arp=arp -a $ipAddress;<br>$lines=explode("n", $arp);</p>
<h1>IP アドレスを記述した出力行を探します</h1> <p>foreach($lines as $line)<br>{<br> $cols=preg_split('/s /', trim($line));<br> if ($cols[0]==$ipAddress)<br> {</p>
<pre class="brush:php;toolbar:false">   $macAddr=$cols[1];

}
}

ただし、クライアントが同じ LAN 上にない場合は、MAC アドレスを取得します。クライアントからの追加の情報送信手段がなければ、PHP では不可能です。

以上がPHP を使用して、接続されているクライアントの MAC アドレスと IP アドレスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。