服务器IP
您可以从$ _SERVER [‘SERVER_ADDR’]获取服务器IP地址。
服务器MAC地址
对于MAC地址,您可以解析netstat -ie在Linux中的输出,或ipconfig / all在Windows中的输出。
客户端IP地址
您可以从$ _SERVER [‘REMOTE_ADDR’]获取客户端IP
客户端MAC地址
客户端MAC地址将不可用,除非在一个特殊情况下:如果客户端与服务器在同一个以太网段上。
所以,如果你正在构建某种基于局域网的系统,并且你的客户端在同一个以太网段上,那么你可以通过解析arp -n(linux)或arp -a(windows)的输出来获取MAC地址。
编辑:你在评论中询问如何获得外部命令的输出 – 一种方法是使用反引号,例如。
$ipAddress=$_SERVER['REMOTE_ADDR'];
$macAddr=false;
#run the external command, break output into lines
$arp=`arp -a $ipAddress`;
$lines=explode("\n", $arp);
#look for the output line describing our IP address
foreach($lines as $line)
{
$cols=preg_split('/\s+/', trim($line));
if ($cols[0]==$ipAddress)
{
$macAddr=$cols[1];
}
}
但是如果客户端不在LAN上怎么办?
好吧,你运气不好,除非你可以让客户端志愿者的信息和通过其他方式传输。