PHP获取MAC地址

/**
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
**/ 

class GetMacAddr{ 

        var $return_array = array(); // 返回带有MAC地址的字串数组
        var $mac_addr; 

        function GetMacAddr($os_type){
             switch ( strtolower($os_type) ){
                      case "linux":
                                $this->forLinux();
                                break;
                      case "solaris":
                                break;
                      case "unix":
                                 break;
                       case "aix":
                                 break;
                       default:
                                 $this->forWindows();
                                 break; 

              } 

              $temp_array = array();
              foreach ( $this->return_array as $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->mac_addr = $temp_array[0];
                                 break;
                       } 

              }
              unset($temp_array);
              return $this->mac_addr;
         } 

         function forWindows(){
              @exec("ipconfig /all", $this->return_array);
              if ( $this->return_array )
                       return $this->return_array;
              else{
                       $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
                       if ( is_file($ipconfig) )
                          @exec($ipconfig." /all", $this->return_array);
                       else
                          @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);
                       return $this->return_array;
              }
         } 

         function forLinux(){
              @exec("ifconfig -a", $this->return_array);
              return $this->return_array;
         } 

}
//方法使用
//$mac = new GetMacAddr(PHP_OS);
//echo $mac->mac_addr;

PHP获取MAC地址

时间: 2024-10-14 06:02:44

PHP获取MAC地址的相关文章

C#获取MAC地址

/// <summary> /// 获取MAC地址(返回第一个物理以太网卡的mac地址) /// </summary> /// <returns>成功返回mac地址,失败返回null</returns> public string getMacAddress() { string macAddress = null; try { NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterface

Python windows下获取MAC地址的一种方法

我最近有一个项目,使用Python在win32下开发一个COM组建,该COM组建其中一个方法是获取本地电脑的MAC地址. 需求很简单,虽然我是Python新手中的新手,但我还是会使用搜索引擎进行搜索. 百度一下,发现大部分都介绍使用import UUID获取MAC地址,或使用os.popen("ipconfig /all")的方式获取.而后者容易受到操作系统中英文环境影响. 如这篇文章:http://www.cnblogs.com/Jerryshome/archive/2011/11/

android 获取MAC地址

由于WiFi 的Mac address 是一个被动咨询.一般在开机后,不会主动上到的系统里.要等待WiFi硬件启动后,才会把有关Mac address资料记载入系统去. 所以一般android系统获取Mac address时候会出现以下几种情况: 1.在WiFi打开的时候可以获取到Mac地址 2.关闭WiFi,不重启系统,也可以获取到Mac address 3.系统重启后,不打开WiFi,获取不到Mac address 4.系统重启后,不开开WiFi,打开2G.3G网络,获取不到Mac addr

android获取Mac地址和IP地址

获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信息获取本地Mac public static String getLocalMacAddressFromWifiInfo(Context context){ WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_

C#获取MAC地址的几种方法

首先需要用到的一些方法和类: public enum NCBCONST { NCBNAMSZ = 16, MAX_LANA = 254, NCBENUM = 0x37, NRC_GOODRET = 0x00, NCBRESET = 0x32, NCBASTAT = 0x33, NUM_NAMEBUF = 30, } [StructLayout(LayoutKind.Sequential)] public struct ADAPTER_STATUS { [MarshalAs(UnmanagedTy

【转载】获取MAC地址方法大全

From:http://blog.csdn.net/han2814675/article/details/6223617 Windows平台下用C++代码取得机器的MAC地址并不是一件简单直接的事情.到目前为止,作者尚未发现有任何一个通用的100%的适用于所有Windows平台的方法可以稳定的取得MAC地址.而有些应用(比如MMORPG)则需要稳定的得到机器的MAC地址,解决方案往往是通过多种方法依次使用来提高成功率. 说明: 以下方法只会返回多网卡的第一个MAC地址. 网上有很多文章和源码来解

C# 获取mac地址 本机或者 远程的

/// 获取本机网卡mac地址代码 /// </summary> /// <returns></returns> /// /// <summary> public string GetNetworkAdpaterID() { try { string mac = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass("Wi

Delphi 获取MAC 地址

function GetMacAddress(index:integer):string;var   ncb : TNCB;                {NetBios控制块}   AdapterS : TAdapterStatus; {网卡状态结构}   LanaNum : TLanaeNum;       {Netbios Lana}   i : integer;   rc : Char;                 {NetBios的返回代码}   str : String;beg

java获取mac地址-屏蔽ip封mac地址

首先要说的是:可以支持外网机器的mac地址获取.  以前弄了一个只能访问局域网. 有防火墙就访问不了, 但是这个不用担心了. 测试了百度的ip,已经可以获得mac地址 测试效果图: java通过ip获取mac地址-封ip封mac地址 版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载.

1.1.4 小试牛刀--编程实现获取MAC地址(1)

1.1.4  小试牛刀--编程实现获取MAC地址(1) 实例功能 使用Visual C++开发一个FTP传输系统 源码路径 光盘\yuanma\1\FTP 本实例的目的是,使用Visual C++ 6.0开发一个获取当前机器MAC地址的程序. 1. 选择开发工具 Visual C++是一个功能强大的可视化软件开发工具.自1993年Microsoft公司推出Visual C++ 1.0以来,不断有其新版本问世,随后微软又推出了.NET系列,添加了很多网络功能,但是它的应用有一定的局限性.Visua