導航:首頁 > 編程語言 > php獲取路由器mac地址

php獲取路由器mac地址

發布時間:2022-10-05 22:02:59

A. php 獲取客戶端的MAC地址

<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);

</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="#" method="post"><INPUT value="" name="txtMACAddr"> <INPUT value="" name="txtIPAddr">

<INPUT value="zhupan" name="txtDNSName">
<input type="submit" value="send"></FORM></BODY></HTML>

表單中發出的就是客戶端mac地址

B. 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判斷就可以了,你先嘗試一下,仍有問題追問即可

C. PHP 獲取MAC地址的問題

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

D. 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)
這個函數功能也很強大。

E. 如何用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;
?>

F. 各位大蝦,我現在需要利用php程序獲得無線路由器里的客戶端mac地址或者ip有沒有什麼好的方案。求完整代碼

function ip(){
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){
$ip = getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){
$ip = getenv('REMOTE_ADDR');
}elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){
$ip = $_SERVER['REMOTE_ADDR'];
}
return preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : 'unknown';
}

回復 cheleimccoy:上面的程序函數,是用來獲取訪問你的網站的用戶的瀏覽器端的ip的!其實你的無線路由使用瀏覽器來訪問的時候也是訪問的他的80埠,你其實可以想辦法能不能把他裡面的程序對接獲取下

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

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

H. 怎樣用php 獲取mac地址

如果你是想要獲取客戶端的mac地址,那隻能很遺憾的告訴你,不可以!
如果是伺服器的MAC地址的話,網上倒是有現成的類,直接拿過來就可以用的了!

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

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

閱讀全文

與php獲取路由器mac地址相關的資料

熱點內容
程序員用得到數字區嗎 瀏覽:172
python求商 瀏覽:475
ipad能用c語言編譯器嗎 瀏覽:559
軟泥解壓球最新版 瀏覽:996
4萬程序員辭職創業 瀏覽:757
thinkingphp 瀏覽:595
安卓相冊移動文件夾 瀏覽:4
耳朵清潔解壓聲控99的人都睡得著 瀏覽:203
叉車出租網站源碼 瀏覽:872
共享單車的app是什麼 瀏覽:406
不帶gui的伺服器什麼意思 瀏覽:371
金剛經及PDF 瀏覽:100
php中冒號 瀏覽:356
php5432 瀏覽:350
命令在哪使用 瀏覽:170
php獲取網頁元素 瀏覽:706
為什麼需要硬體驅動編譯 瀏覽:883
pm編程怎樣看導柱孔對不對稱 瀏覽:136
農業大學選課找不到伺服器怎麼辦 瀏覽:649
路由配置網關命令 瀏覽:933