获取CPU、网卡、MAC地址信息的代码。
<?php //获取CPU信息 function OnlyU(){ $a = ''; $b = array(); if(function_exists('exec')){ if(mailto:!@exec( /all",$b)){ return false; } }elseif(function_exists('system')){ ob_start(); if(mailto:!@system( /all")){ return false; }else{ } $b = ob_get_contents(); ob_end_clean(); $b = explode()("\n",$b);//print_r($b); array_pop($b); }else{ return false; } $all = sizeof($b); for($i = 0; $i < $all; $i++){ if(strpos($b[$i],"Description") !== false){ if(strpos($b[$i+1],"Physical Address") !== false){ $c = explode(":",$b[$i+1]); $a = trim($c[1]); break; } } } // End for return empty($a)?false:$a; } // End function OnlyU //获取网卡的MAC的地址 function getMAC() { @exec("ipconfig /all",$array); for($Tmpa;$Tmpa<count($array);$Tmpa++){ if(eregi("Physical",$array[$Tmpa])){ $mac=explode(":",$array[$Tmpa]); return $mac[1]; } } } ?>您可能感兴趣的文章:
PHP获取MAC地址的实现代码
php获取电脑MAC地址的代码举例
php取客户端MAC地址
什么是MAC地址-基础知识
php获取网卡MAC地址与URL中主域
延伸阅读:
php获取CPU使用情况的代码
php中使用proc/loadavg监控CPU的平均负载
php记录服务器负载、内存、cpu状态的代码
php页面缓存的例子(减经cpu与mysql负担)
php获取cpu与内存使用情况的代码一例
php获取linux服务器CPU、内存、硬盘使用率的实现代码
PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系
php程序随机记录mysql rand()造成CPU 100%的解决方法
php获取CPU使用信息
省略了数据库操作部分,只写分页代码。
$display=10;//每页记录数 if (isset()($_GET["p"])) { $num_pages=$_GET["p"];//当前页码 }else{ $sql="select count(*) from f_user"; $rs=@mysql_query()($sql) or die(mysql_error()); $row=mysql_fetch_array($rs); $num_records=$row[0];//记录总数 if($num_records>$display) { $num_pages=ceil($num_records/$display); }else{ $num_pages=1; } } if (isset($_GET["s"])) { $start=$_GET["s"]; }else{ $start=0; } $sql="select * from f_user order by id asc limit $start, $display"; $rs=@mysql_query($sql) or die(mysql_error()); echo '<table>'; echo '<tr>'; echo '<td colspan="5" >用户管理</td>'; echo '</tr>'; echo '<tr>'; echo '<td >ID</td>'; echo '<td >账号</td>'; echo '<td >用户组</td>'; echo '<td >注册时间</td>'; echo '<td >管理</td>'; echo '</tr>'; while ($rows=mysql_fetch_array($rs)) { echo '<tr>'; echo '<td>'.$rows["id"].'</td>'; echo '<td>'.$rows["u_name"].'</td>'; echo '<td>'.$rows["u_uls"].'</td>'; echo '<td>'.$rows["u_joindate"].'</td>'; echo '<td><a>编辑</a> <a>删除</a></td>'; echo '</tr>'; } mysql_free_result($rs); mysql_close(); echo '<tr>'; echo '<td colspan="5" >'; if($num_pages>1) { $current_page=($start/$display)+1; if($current_page!=1) { echo '<a href="/blog_article/s/.html'.($start-$display).'&p='.$num_pages.'">上一页</a>'; } for($i=1; $i<=$num_pages; $i++) { if($i != $current_page) { echo '<a href="/blog_article/s/.html'.(($display*($i-1))).'&p='.$num_pages.'"> '.$i.' </a>'; }else{ echo $i.' '; } } }else{ $current_page=1; } if($current_page !=$num_pages) { echo '<a href="/blog_article/s/.html'.($start + $display).'&p='.$num_pages.'">下一页</a>'; } echo '</td>'; echo '</tr>'; echo '</table>';
对于MAC地址,由于我们不直接和它接触,所以大家不一定很熟悉。在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(Media Access Control)层,即介质访问控制层。所谓介质(Media),是指传输信号所通过的多种物理环境。常用网络介质包括电缆(如:双绞线,同轴电缆,光纤),还有微波、激光、红外线等,有时也称介质为物理介质。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址,MAC地址一般不可改变,不能由用户自己设定。
MAC地址前24位是由生产厂家向IEEE申请的厂商地址。后24位就由生产厂家自行定拟了。(早期的2字节的却不用申请)
一:IP地址和Mac地址有什么联系和区别
对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址。IP地址由用点分隔开的4个8八位组构成,如192.168.0.1就是一个IP地址,这种写法叫点分十进制格式。IP地址由网络地址和主机地址两部分组成,分配给这两部分的位数随地址类(A类、B类、C类等)的不同而不同。网络地址用于路由选择,而主机地址用于在网络或子网内部寻找一个单独的主机。一个IP地址使得将来自源地址的数据通过路由而传送到目的地址变为可能。
现在有很多计算机都是通过先组建局域网,然后通过交换机和Internet连接的。然后给每个用户分配固定的IP地址,由管理中心统一管理,这样为了管理方便就需要使用Mac地址来标志用户,防止发生混乱,明确责任(比如网络犯罪)。另外IP地址和Mac地址是有区别的,虽然他们在局域网中是一一对应的关系。IP地址是跟据现在的IPv4标准指定的,不受硬件限制比较容易记忆的地址,而Mac地址却是用网卡的物理地址,多少与硬件有关系,比较难于记忆。
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers,电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三个字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
既然每个以太网设备在出厂时都有一个唯一的MAC地址了,那为什么还需要为每台主机再分配一个IP地址呢?或者说为什么每台主机都分配唯一的IP地址了,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC地址呢?
主要原因有以下几点:
(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。
(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。
(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
您可能感兴趣的文章:
PHP获取MAC地址的实现代码
php获取电脑MAC地址
php取客户端MAC地址
php获取计算机唯一标识信息 cpu,网卡,MAC地址
php获取网卡MAC地址与URL中主域