導航:首頁 > 編程語言 > php獲得mac地址

php獲得mac地址

發布時間:2022-06-11 12:56:43

㈠ 如何用php獲取客戶端的MAC地址

可以參考下面代碼:

<?PHP
@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;
?>

㈡ php都能獲取哪些mac地址

你只能拿到宿主機的mac地址,不能通過網路拿到遠端用戶的mac地址,不論是安卓ios Windows linux

㈢ php如何獲取客戶端的mac地址限制登錄

<?php
classGetMacAddr{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($os_type){
switch(strtolower($os_type)){
case"linux":$this->forLinux();break;
default:$this->forWindows();break;
}
$temp_array=array();
foreach($this->return_arrayas$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;
}
functionforWindows(){
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
}
//---實例化類
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
echo"<br/>";
echomd5($mac->mac_addr);
?>
以上代碼是獲取mac地址的代碼,在網上抄的,但實測有效,括弧,我x,我第一次知道原來php也可以執行命令行。。。

至於如何限制,應該是去截取mac的一部分經行if判斷就可以了,你先嘗試一下,仍有問題追問即可

㈣ PHP 獲取MAC地址的問題

1、php絕對沒有可能獲取客戶端mac的地址,因為沒有許可權。
2、只能通過ActiveX、Applet或者安裝其他客戶端程序。

㈤ php如何獲取客戶端唯一標識符IPmac地址

<?php
classGetMacAddr{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($os_type){
switch(strtolower($os_type)){
case"linux":$this->forLinux();break;
default:$this->forWindows();break;
}
$temp_array=array();
foreach($this->return_arrayas$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;
}
functionforWindows(){
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
}
//---實例化類
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
echo"<br/>";
echomd5($mac->mac_addr);
?>
以上代碼是獲取mac地址的代碼,在網上抄的,但實測有效,括弧,我x,我第一次知道原來php也可以執行命令行。。。

至於如何限制,應該是去截取mac的一部分經行if判斷就可以了,你先嘗試一下

㈥ php能獲取客戶端的MAC地址嗎

本地連接屬性---配置---高級---本地管理的地址(或網路地址)--修改值:把手機的MAC地址輸入(直接填上,沒有—)---確定

㈦ PHP怎麼獲取本地硬碟ID或者MAC地址,需要下載什麼擴展嗎

<?php
/*
獲取Mac地址,支持windows,linux
*/
classGetMacAddr
{
var$return_array=array();//返回帶有MAC地址的字串數組
var$mac_addr;
functionGetMacAddr($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_arrayas$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;
}
functionforWindows()
{
@exec("ipconfig/all",$this->return_array);
if($this->return_array)
return$this->return_array;
else{
$ipconfig=$_SERVER["WINDIR"]."system32ipconfig.exe";
if(is_file($ipconfig))
@exec($ipconfig."/all",$this->return_array);
else
@exec($_SERVER["WINDIR"]."systemipconfig.exe/all",$this->return_array);
return$this->return_array;
}
}
functionforLinux()
{
@exec("ifconfig-a",$this->return_array);
return$this->return_array;
}
}
//方法使用
$mac=newGetMacAddr(PHP_OS);
echo$mac->mac_addr;
?>

㈧ php能否獲得瀏覽器客戶端的MAC地址給個例子

只能獲取到ip地址 ,然後在調用cmd arp-a 匹配 ip對應的mac
而且有一些獲取不到

我也有個php工具需要用的mac地址 就是沒有方便、穩定、速度快 ,的方法可以獲取到 ,如果你找到 麻煩分享下 謝謝 !!

㈨ 如何用PHP程序讀取來訪機器的MAC地址

執行系統命令,然後通過正則匹配獲取就行了。

㈩ php實現獲取區域網所有用戶的電腦IP和主機名、及mac地址完整實例

本文所述php實例可以完成獲取區域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:
<?php
$bIp
=
gethostbyname($_ENV['COMPUTERNAME']);
//獲取本機的區域網IP
echo
"本機IP:",$bIp,"\n";
echo
"本機主機名:",gethostbyaddr($bIp),"\n\n\n";
//gethostbyaddr
函數可以根據區域網IP獲取主機名
//默認網關IP
list($ipd1,$ipd2,$ipd3)
=
explode('.',$bIp);
$mask
=
$ipd1
.
"."
.
$ipd2
.
"."
.
$ipd3
;
exec('arp
-a',$aIp);
//獲取區域網中的其他IP
foreach(
$aIp
as
$ipv)
{
if(strpos($ipv,'介面')
!==
false)
{//一下顯示的IP是否是當前區域網中的
而不是其他的類型
可以在cmd下試一下命令
$bool
=
false;
preg_match('/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/',$ipv,$arr);
if(strcmp($arr[0],$bIp)
==
0)
{
$bool
=
true;
}
}
else
{
if($bool)
{
$str
=
preg_replace('/\s+/',
'|',
$ipv);
$sArr
=
explode('|',$str);
if($sArr[1]
==
'Internet'
||
empty($sArr[1]))
{
continue;
}
//去除默認網關
if(strcmp($mask
.
".1",
$sArr[1])
==
0)
{
continue;
}
//去除同網關下255的IP
if(strcmp($mask
.
".255",
$sArr[1])
==
0)
{
continue;
}
//去除組播IP
list($cIp)
=
explode('.',
$sArr[1]);
if($cIp
>=
224
&&
$cIp
<=
239)
{
continue;
}
echo
"IP地址:|",$sArr[1],"|\n";
echo
"MAC地址:",$sArr[2],"\n";
echo
"主機名:",gethostbyaddr($sArr[1]),"\n";
echo
"\n\n";
}
}
}
該程序是在cli模式下運行的,在瀏覽器上應該也可以
php獲取區域網中的用戶ip功能就完成了,主要用到的是php的exec函數
和window的arp
-a
命令
其中獲取本機IP:gethostbyname($_ENV['COMPUTERNAME'])
有別於以往的寫法,感興趣的朋友可以繼續深入研究一下。
獲取主機名函數:gethostbyaddr(IPd)
這個函數功能也很強大。

閱讀全文

與php獲得mac地址相關的資料

熱點內容
氣動隔膜式壓縮機 瀏覽:468
linux如何修改主機名 瀏覽:102
單片機游標上下移動 瀏覽:526
數據加密驗證 瀏覽:106
程序員被激怒 瀏覽:889
winxp找不到伺服器dns地址 瀏覽:840
以文本文件的格式保存考生文件夾 瀏覽:39
編譯原理文法分為幾類 瀏覽:568
JAVA基礎學python要多久 瀏覽:72
java流量控制 瀏覽:934
java實現多重繼承 瀏覽:705
票據通加密狗怎麼在新系統上使用 瀏覽:793
航模加密狗連接電腦 瀏覽:471
好用的匯編語言編譯器 瀏覽:861
自己編譯安卓虛擬機 瀏覽:911
中國的古代演算法 瀏覽:654
上層怎麼看程序員 瀏覽:25
程序員便當排骨 瀏覽:853
如何禁用安卓全家桶 瀏覽:259
oa伺服器異常怎麼辦 瀏覽:71