Php Client MAC

出自sebug security vulnerability(SSV) DB
跳转到: 导航, 搜索

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

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


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


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

公网中依然有MAC,数据包流经路由器,路由器会将自己的接口替换掉MAC帧头中的SA,也就是源MAC.层层封装
通过云端到达终端服务器已经是N层了,就算你能获取到数据包中的MAC也是最后一台交给你的设备的接口MAC
那个设备有可能是多层交换,也有可能是路由器. 理论上你想获取客户端的MAC,除非执行某些东西,让他自己发出来。否则不可能

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

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

http://luoq.net/php-access-Client-MAC/

个人工具
名字空间
变换
导航
工具箱