IP-адрес сервера
Вы можете получить IP-адрес сервера от $_SERVER['SERVER_ADDR']
.
MAC-адрес сервера
Для MAC-адреса вы можете проанализировать вывод netstat -ie
в Linux или ipconfig /all
в Windows.
IP-адрес клиента
Вы можете получить IP-адрес клиента от $_SERVER['REMOTE_ADDR']
MAC-адрес клиента
Клиентский MAC-адрес будет вам недоступен, за исключением одного особого обстоятельства: , если клиент находится в том же сегменте Ethernet, что и сервер.
Итак, если вы строите какую-то систему на основе локальной сети, и ваши клиенты находятся на в одном и том же сегменте Ethernet, вы можете получить MAC-адрес, проанализировав вывод arp -n
(linux) или arp -a
(окна).
Редактировать : вы спрашиваете в комментариях, как получить вывод внешней команды - один из способов - использовать обратные галочки, например,
$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];
}
}
Но что, если клиент не находится в локальной сети?
Что ж, вам не повезло, если вы не можете заставить клиента добровольно передать эту информацию и передать ее другими способами.