php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2023-06-13 09:15:26 时间
获取服务器mac
复制代码代码如下:
<?php
/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/
classGetmacAddr{
var$result=array();//返回带有MAC地址的字串数组
var$macAddr;
/*构造*/
function__construct($osType){
switch(strtolower($osType)){
case"unix":break;
case"solaris":break;
case"aix":break;
case"linux":{
$this->for_linux_os();
}break;
default:{
$this->for_windows_os();
}break;
}
$temp_array=array();
foreach($this->resultas$value){
if(preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,
$temp_array)){
$this->macAddr=$temp_array[0];
break;
}
}
unset($temp_array);
return$this->macAddr;
}
/*linux系统中获取方法*/
functionfor_linux_os(){
@exec("ifconfig-a",$this->result);
return$this->result;
}
/*win系统中的获取方法*/
functionfor_windows_os(){
@exec("ipconfig/all",$this->result);
if($this->result){
return$this->result;
}else{
$ipconfig=$_SERVER["WINDIR"]."\system32\ipconfig.exe";
if(is_file($ipconfig)){
@exec($ipconfig."/all",$this->result);
}else{
@exec($_SERVER["WINDIR"]."\system\ipconfig.exe/all",$this->result);
return$this->result;
}
}
}
}
?>
获取客户端mac地址:
@exec("arp-a",$array);//执行arp-a命令,结果放到数组$array中
foreach($arrayas$value){
//匹配结果放到数组$mac_array
if(strpos($value,$_SERVER["REMOTE_ADDR"])&&preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){
$mac=$mac_array[0];
break;
}
}
echo$mac;
注:客户端获取的mac不能在本机测试,只能用别的电脑访问才能输出
相关文章
- 地址探索Linux服务器的IP地址(查看linux服务器ip)
- Linux让自动任务计划变得更简单(linux自动任务计划)
- Linux专业IP地址配置实战(linux的ip地址配置)
- 目录用For循环创建Linux目录的简单技巧(for循环创建linux)
- 使用率利用Linux系统查看CPU使用率的方法(linux统计cpu)
- 管理Linux子进程顺序管理:实现有效协作(linux子进程顺序)
- Linux网卡配置:让网络更加便利(linux网卡地址)
- Linux发展史:从分支到繁荣(linux的分支)
- Linux查看本机IP地址的简易方法(linux查看本机地址)
- PHP应该在哪个Linux操作系统上运行?(php用什么linux)
- Linux流量监控: 查看流量的实用命令(linux查看流量的命令)
- Linux实现内网访问:简洁而又实用(linux访问内网地址)
- Linux下的强大软件:值得拥有!(linux下好软件)
- Linux仓库配置实践指南(linux配置仓库)
- Linux系统如何获取IPV6地址(linux获取ipv6)
- Linux 快速清空数据方法(linux清空数据)
- 使用Linux命令行来优化你的PHP开发(linux命令行php)
- 探究Linux的优点:为何它成为亿万用户的选择。(linux好在哪里)
- 轻松学习Linux:不再害怕命令行!(不想学linux)
- Linux数据库忘记密码解决方案(linux数据库忘记密码)
- 手机遥控Linux:让你无处不在(手机 连接linux)
- 改变Linux系统的Mac地址:一个快速指南(改mac地址 linux)
- 安装双系统:Linux 与 Windows 并行上场(安装 linux 双系统)
- php获取网卡的MAC地址支持WIN/LINUX系统
- linux多线程编程(四)