是不是能直接获取的,还是会被防火墙截栏?各位同学有测试过吗?

解决方案 »

  1.   


    <HTML><HEAD><TITLE>WMI Scripting HTML</TITLE><META http-equiv=Content-Type content="text/html; charset=gb2312"><SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(IPAddr); document.forms[0].txtDNSName.value=unescape(sDNSName); //document.formbar.submit();  </SCRIPT> <SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>   if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)   {    if(objObject.MACAddress != null && objObject.MACAddress != "undefined")    MACAddr = objObject.MACAddress;    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")    IPAddr = objObject.IPAddress(0);    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")    sDNSName = objObject.DNSHostName;    }  </SCRIPT> <META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD><BODY><OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT><OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT><SCRIPT language=JScript>   var service = locator.ConnectServer();   var MACAddr ;   var IPAddr ;   var DomainAddr;   var sDNSName;   service.Security_.ImpersonationLevel=3;   service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');   </SCRIPT> <FORM id=formfoo name=formbar action=NICPost.asp method=post><INPUT name=txtMACAddr> <INPUT name=txtIPAddr> <INPUT name=txtDNSName> </FORM></BODY></HTML>这个东西.用JavaScript是最好的...
    其实JavaScript一直很强大,并不是就是只是一些验证...
      

  2.   

    但是不能在web方式下使用
      

  3.   

    好了,道听途说的东西还是不要相信的为好mac地址只应用于单个网络中的设备间的通讯,不能跨越网络设备(网关、路由等)
    ip地址用于将物理网络划分成若干子网,不在同一网段的设备间不能直接通讯,必须经由网络设备转接
      

  4.   

    那中国电信是怎么获取的。有个客户端 叫什么星空极速什么,你拔下号,会记录你的mac和他的宽带帐号对应. 这个最恶心的做法.
      

  5.   

    TMD电信ADSL我打开CSDN,他出来一个广告页,过几秒再给我跳到CSDN。你说电信还有什么是做不出来的?
      

  6.   


    顶!确实直接功过PHP是无法获得的。即使获得了,也是服务器的MAC地址。
      

  7.   

    <?php
    /**
            获取机器网卡的物理(MAC)地址 
            wwa  $Exp 
    **/
    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;
    ?>http://www.phpx.com/thread-121308-1-1.html
      

  8.   

    我知道啊...
    但是JavaScript的确可以获取客户端的mac啊...
    可能是我学艺不精吧....
      

  9.   

    16楼明显利用系统命令取服务器端的mac
      

  10.   

    http协议似乎并没有mac相关的协议项,相关协议应该在链路层.
      

  11.   

    woshiguozhongbin
    你那个会被禁止的。我测试过你那个方法,但我电脑会禁了那个什么ActiveX。也打开不了
      

  12.   

    客户端mac地址是取不了的,除非借助ActiveX之类的东东