我尝试了类似这样的东西,这对我不起作用。
<?php
$ip = getenv("REMOTE_ADDR") ;
Echo "Your IP is " . $ip;
?>
答案 0 :(得分:1)
您无法将MAC解析为IP。 MAC用于ARP-Layer,仅适用于本地LAN。 MAC绑定到网络适配器/设备。在此设备上,您可以为IP协议分配多个IP地址。
你在谈论MAC吗? 它们看起来像00-50-56-C0-00-08 有时也用“:”分隔
评论后更新: 您无法将MAC解析为IP。 你可以尝试一些技巧。 如果当前PC与该设备有联系,则IP可以存储在ARP缓存中。 如果您正在使用DHCP服务器,那么另一个技巧是,如果将IP分配给该MAC,则可以查询此服务器。
答案 1 :(得分:-1)
试试这个
if($_SERVER["HTTP_X_FORWARDED_FOR"] != ""){
$IP = $_SERVER["HTTP_X_FORWARDED_FOR"];
$proxy = $_SERVER["REMOTE_ADDR"];
$host = @gethostbyaddr($_SERVER["HTTP_X_FORWARDED_FOR"]);
}else{
$IP = $_SERVER["REMOTE_ADDR"];
$proxy = "No proxy detected";
$host = @gethostbyaddr($_SERVER["REMOTE_ADDR"]);
}