说说php获取Client MAC

一开始我还认为php完全是可以获取到client的mac的,很是荒谬。最后还被云舒鄙视了一番。

这完全不可能的。php是不可能直接获取到client的mac的。

首先php完全就是在服务端解释执行的,所以没可能直接获取到浏览端的网卡MAC,因为浏览器默认行为是不会把MAC发送出去的。

要是从数据包的角度来解释的话,一般都是在局域网内部传输时才会包上MAC头,经过路由不断转发,实际上每经过一级设备都被剥去一层,到最后就只剩下TCP/IP的数据头和数据了。MAC只可能是在网络底层的物理层中传输。(也就是说client的mac地址信息是不可能在公网上传输的,公网上的MAC信息是最后一跳设备的接口MAC,Hell-Phantom评论)

从http协议来讲,也是不可能的。http请求中也不可能带上mac地址。可以看看http协议的相关说明

所以说php是不可能直接获取到client的mac地址的,php要想得到client的MAC地址,得用到第三方的ActiveX或是用js等。PS:http://www.kenes.com.cn/MAC.html

关键词: http , client , php

上一篇: 辞职了
下一篇: 信息安全中的等级保护和风险评估的区别

相关文章
访客评论
#1
回复 MIAO 2009-03-08, 22:40:05
有意思~~~~~
#2
回复 ik 2009-03-08, 22:53:42
引用 MIAO 说过的话:
有意思~~~~~
啥意思?
#3
回复 毒药 2009-03-08, 22:54:46
我是傻逼。。。
#4
回复 Hell-Phantom 2009-03-08, 22:57:51
公网中依然有MAC,数据包流经路由器,路由器会将自己的接口替换掉MAC帧头中的SA,也就是源MAC.层层封装,通过云端到达终端服务器已经是N层了,就算你能获取到数据包中的MAC也是最后一台交给你的设备的接口MAC。 那个设备有可能是多层交换,也有可能是路由器. 理论上你想获取客户端的MAC,除非执行某些东西,让他自己发出来。否则不可能.
#5
回复 amxku 2009-03-09, 00:05:14
引用 Hell-Phantom 说过的话:
公网中依然有MAC,数据包流经路由器,路由器会将自己的接口替换掉MAC帧头中的SA,也就是源MAC.层层封装,通过云端到达终端服务器已经是N层了,就算你能获取到数据包中的MAC也是最后一台交给你的设备的接口MAC。 那个设备有可能是多层交换,也有可能是路由器. 理论上你想获取客户端的MAC,除非执行某些东西,让他自己发出来。否则不可能.
分析的是,公网上的MAC信息是最后一跳设备的接口MAC
#6
回复 Hell 2009-03-09, 00:10:54
深夜还没睡, 都是夜猫子.从MIAO大叔到博主,一个个的。
#7
回复 amxku 2009-03-09, 00:15:16
引用 Hell 说过的话:
深夜还没睡, 都是夜猫子.从MIAO大叔到博主,一个个的。
哈哈。猫是一种很纯情的动物啊。哈哈
#8
回复 要饭 2009-03-09, 09:39:59
MAC是内网用来找对象的,离开了内网,MAC没啥太大意思了.所有的WEB语言都是在服务器端执行的,执行完后才响应到客户端呈现的,不过从程序的角度来看还是有办法获取的,只不过不是直接获取,要是啥都能获取,那客户端就没有安全可言喽.
#9
回复 kiki 2009-03-09, 12:08:07
这才叫科普,这才叫讨论嘛
#10
回复 Hell-Phantom 2009-03-09, 12:09:44
引用 要饭 说过的话:
MAC是内网用来找对象的,离开了内网,MAC没啥太大意思了.所有的WEB语言都是在服务器端执行的,执行完后才响应到客户端呈现的,不过从程序的角度来看还是有办法获取的,只不过不是直接获取,要是啥都能获取,那客户端就没有安全可言喽.
其意义跟你们没有关系,在于路由器底层信息的协商作用,例如,Data Linky Layer. 路由器在没有配置IP的过程中,就算是配置了,也需要定期的协商,做hello,做keeplive .  保证下一条,或上游路由器连接接口的可用性,也就是刺探接口是否DOWN掉了。DOWN掉了就认为那台路由器也DOWN了=死掉了。  所以关系不大.
#11
回复 kiki 2009-03-09, 12:59:34
通过Activex获取Mac地址,http://www.jianblog.com/2007/03/09/366/
#12
回复 est 2009-03-09, 22:00:56
同一个内网还是有可能获得mac的。另外WAP貌似可以获得一些设备信息
#13
回复 est 2009-03-09, 22:02:18
另外,Flash、java applet、silverlight加上无数的第三方插件也有各种exp获得硬件信息然后ajax传回即可。
#14
回复 MIAO 2009-03-31, 15:50:00
我不清纯好多年
除非借助本地的执行。注入JS Activex 其余的不但PHP,jsp,asp应该都是无法取MAC的吧

MAC地址跳过了最近那个路由应该就没什么用了吧

这个东西Hell是专家
我还停留在科普截断
#15
回复 ik.i 2009-06-27, 21:22:21
三层上是不可能有mac地址的,更何况是七层了呢。
发表评论

评论内容 (必填):