首页 后端开发 php教程 PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码_php技巧

PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码_php技巧

May 17, 2016 am 09:16 AM
mac

复制代码 代码如下:

function ce_getmac()
{
if(PHP_OS == 'WINNT')
{
$return_array = array();
$temp_array = array();
$mac_addr = "";
@exec("arp -a",$return_array);
foreach($return_array as $value)
{
if(strpos($value,$_SERVER["HTTP_CLIENT_IP"]) !== false &&
preg_match("/(:?[0-9a-f]{2}[:-]){5}[0-9a-f]{2}/i",$value,$temp_array))
{
$mac_addr = $temp_array[0];
break;
}
}
return $mac_addr ? strtoupper($mac_addr) : '';
}
else if(PHP_OS == 'Linux')
{
return true;
}
}

函数已经修改过了,到LINUX上发现不能使用EXEC函数,也就是获取不到MAC地址了。经过沟通,该项目必须部署在LINUX服务器下,笔者经过苦思冥想了半天终于找到了一个解决方案,不用执行EXEC也可以获取到内网用户的MAC地址。
在内网服务器中,有一台192.168.1.151的服务器,服务器上一个API,访问这个API,就获取用户MAC,JOSN的方式输出用户账号信息,因为该服务器可以获取MAC,就可以稍加利用了。
使用CURL伪造来源IP方式(IP不是LINUX服务器的IP,是客户端访问的IP地址),CURL到151服务器,服务器得到相应,根据用户IP地址 和ARP -A 参数的正则方式就可以得到客户端的MAC地址,程序运行在151,而151是WINDOWS 2008服务器。但是要注意的是不能使用REMOTE_ADDR,必须使用HTTP_CLIENT_IP。 原因是HTTP_CLIENT_IP可以使用CURL伪造,这样就可以使用LINUX获取用户IP,然后传送给151处理。
疑问:根据用户IP获取MAC地址,那用户换一个IP了怎么办呢?使用CMD下 ARP -A分析,即使用户跟换IP,但是对应该用户的这台计算机的MAC地址默认是不会更换的。

下面是摘抄网友的关于获取IP的文章:
dz的代码判断IP那块太让人头疼了,日,REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR三个东西在手册上太不详细了,基本上就等于没有。
网上gg了一下,找到一点,另外,有一个思路太巧了,用JS取IP以后POST到服务器,Y的用代理骗服务器?有种上网先把Js给关了啊!!哦哈哈,以后有机会用ajax试一下,也省得用这三个变量if得死去活来了。

$_SERVER['...']; // for php
一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。

REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。
HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。
$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)IP
$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR']; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mac键盘输入密码无反应? mac键盘输入密码无反应? Feb 20, 2024 pm 01:33 PM

导读:本篇文章本站来给大家介绍有关mac键盘输入密码无反应的相关内容,希望对大家有所帮助,一起来看看吧。苹果Mac系统无法输入密码如何解决还可以尝试在其他计算机上连接这个键盘,看看是否正常工作。如果在另一台计算机上也出现同样的问题,那么很可能是键盘本身的故障。您可以考虑更换键盘或者修理它。第一次用你的Mac电脑登录支付宝时,你会发现登录界面,无法输入密码。密码输入栏显示:“请点此安装控件”,所以支付宝登录需要安装安全控件。安全控件,可以对你输入的信息(金额、密码等)进行加密保护,提高账号安全。系

3 招教你轻松自定义 Mac 计算机名、主机名和 Bonjour 名称 3 招教你轻松自定义 Mac 计算机名、主机名和 Bonjour 名称 Mar 06, 2024 pm 12:20 PM

许多Mac用户往往习惯保留设备的默认名称,可能从未考虑过更改。很多人选择沿用初始设置时的名称,例如“张三的MacBookAir”或简单的“iMac”。学会如何修改Mac的名称是一项非常实用的技能,尤其是在拥有多台设备时,可以帮助你快速区分和管理它们。接下来,我们将一步步教你如何在macOS系统中更改计算机名称、主机名和Bonjour名称(本地主机名)。为什么要更改Mac名称?修改Mac名称不仅能彰显个性,还能有助于提升使用体验:个性化你的Mac:默认名称可能并不符合你的口味,换一个自己喜欢的名字

mac装程序密码忘了? mac装程序密码忘了? Feb 20, 2024 pm 01:00 PM

导读:本篇文章本站来给大家介绍有关mac装程序密码忘了的相关内容,希望对大家有所帮助,一起来看看吧。苹果电脑安装软件密码忘了怎么办首先,在手机设置中找到iCloud并点击打开。接着,输入账号和密码。在登录按钮下方有一行小字,提示是否忘记ID或密码,点击这个选项。通常情况下,当您在登录界面多次输入错误密码后,MacBookPro会提示您使用已绑定的AppleID来重置密码。您只需按照系统提示的步骤进行操作即可完成密码重置。3、首先将Mac关机,然后重新开机,按下电源键的同时,立刻按住键盘上的com

苹果mac打字怎么翻页? 苹果mac打字怎么翻页? Feb 20, 2024 pm 12:54 PM

导语:今天本站来给各位分享关于苹果mac打字怎么翻页的相关内容,如果能正好解决你现在面临的问题,别忘了关注本站,现在开始吧!苹果MacBook笔记本电脑的触摸板使用技巧苹果电脑设置双指滑动的步骤如下:在电脑桌面上找到“设置”图标并点击。在设置界面中选择“触控板”,然后点击“滚动缩放”。在滚动缩放选项中勾选“滚动方向:自然”即可完成设置。在苹果电脑上设置使用两指滑动的方法很简单。首先,打开电脑并点击屏幕顶部的“设置”图标。在设置界面中,选择“触控板”选项。然后点击“滚动缩放”,确保勾选了“滚动方向

pkg文件安装mac? pkg文件安装mac? Feb 20, 2024 pm 03:21 PM

前言:今天本站来给各位分享关于pkg文件安装mac的相关内容,如果能正好解决你现在面临的问题,别忘了关注本站,现在开始吧!macos过往版本pkg无法安装升级操作系统:如果您的笔记本电脑正在使用较老的操作系统版本,建议升级到最新的操作系统版本。因为较老的版本可能无法支持安装最新的macOS系统。在磁盘工具中选择“抹掉”,然后在格式中选择Macos扩展,不要勾选加密选项,也不要选择apfs格式,最后点击“抹掉”按钮,这样就可以解决无法完成macOS安装的问题。将应用程序的图标拖到以App开头的文件

微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 Mar 19, 2024 am 08:28 AM

近日有一些小伙伴咨询小编微信mac如何设置语音消息自动转成文字?下面就为大家带来了微信mac设置语音消息自动转成文字的方法,有需要的小伙伴可以来了解了解哦。第一步:首先,打开Mac版微信。如图:第二步:接着,点击『设置』。如图:第三步:然后,点击『通用』。如图:第四步:再勾选『聊天中的语音消息自动转成文字』选项即可。如图:第五步:最后,关闭窗口即可。如图:

vmmac虚拟机全屏(虚拟机macos如何全屏) vmmac虚拟机全屏(虚拟机macos如何全屏) Feb 20, 2024 pm 01:15 PM

前言:很多朋友问到关于vmmac虚拟机全屏的相关问题,本文本站就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!mac虚拟机守望先锋没有画面原因:显卡兼容性问题。如果曾经正常运行《守望先锋》,但现在黑屏,可能是因为显卡驱动出现故障。解决:检查显卡是否支持游戏要求。更新显卡驱动程序。尝试使用不同的电源来排除第二种可能性。检查主板是否存在异常情况,如电容是否凸起(可能已被击穿),主板表面是否有明显损坏导致线路中断等情况。建议将主板送至维修站进行检查,如果条件允许,可以考虑更换另一

在Mac上将HEIC照片转换为JPG的3种方法 在Mac上将HEIC照片转换为JPG的3种方法 Mar 15, 2024 pm 08:43 PM

默认情况下,iPhone以HEIC格式从相机拍摄照片。HEIC代表高效图像容器,可以容纳比PNG或JPG文件更多的像素数据,与其他格式相比,在iPhone存储上占用的空间显着减少。这些文件在iPhone上效果最佳,但并未在互联网上得到广泛接受,因为当您与非Apple设备共享这些文件时,它们通常会导致图片模糊/有颗粒感。为了确保HEIC图片在其他设备上可兼容,可能需要将其转换为JPG格式。本文将介绍在Mac上将HEIC图像转换为JPG的方法。如何在Mac上将HEIC照片转换为JPG[3种方法]方法

See all articles