我需要知道連接客戶端的MAC地址, 我該如何在PHP中執行此操作?如何在訪問我的網站時獲取客戶端MAC地址?
-3
A
回答
0
0
0
在互聯網上,你不能。但如果客戶是本地網絡(LAN)上,創建一個PHP文件,並把這個
shell_exec("sudo $arp -an ".$_SERVER['REMOTE_ADDR']);
線注:確保運行 sudo visudo
添加 默認的Apache用戶到sudoers文件和在某處添加"www-data ALL=NOPASSWD /usr/bin/arp"
到文件的底部。
0
除非客戶自己發送消息,否則不能。
這是因爲MAC地址是僅用於本地連接的本地地址。計算機使用它與本地網絡(LAN)中的其他設備進行通信,例如計算機,路由器,打印機等。 這也意味着擁有客戶端的MAC地址對於長時間通信也是無用的,因爲它們不是在同一個網絡中。
爲了與本地網絡(WAN)外部的設備通信,使用了IP地址和端口號。 路由器使用IP地址來知道數據的發送位置,而端口號通常用於最終路由器中,將公有IP地址轉換爲專用IP地址(192.168.XX,172.16.XX,10.XXX) ,被稱爲NAT。 目標計算機也使用端口號來知道哪個程序/進程應該發送數據。
0
我知道這個線程有點老,但我搜索了很多網絡試圖找到同一問題的解決方案。經過大量的搜索網絡和大量的解決方案和代碼從未奏效,所以我寫了下面的兩段代碼。
請記住,您只能獲得您的局域網上的機器的mac地址,沒有辦法通過瀏覽器獲取mac。希望這可能也會幫助其他人。
<?php
$ip_address = $_SERVER['REMOTE_ADDR'];
$mac = `arp $ip_address | cut -d " " -f4`;
echo "<br />Your Mac is: ";
echo $mac;
?>
上面的第一個版本是我可以得到的最簡單的版本。
而下面的其他更復雜,因爲它也會帶來,如果它的代理和主機名。
<?php
$http_client_ip = $_SERVER['HTTP_CLIENT_IP'];
$http_x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
$remote_addr = $_SERVER['REMOTE_ADDR'];
$hostname = gethostname();
if (!empty($http_client_ip)) {
$ip_address = $http_client_ip;
} else if (!empty($http_x_forwarded_for)) {
$ip_address = $http_x_forwarded_for;
} else {
$ip_address = $remote_addr;
}
//$output = shell_exec('arp -n $ip_address');
$mac = `arp $ip_address | cut -d " " -f4`;
//echo "<br /> <br />Your hostname is: $hostname";
//echo $hostname;
echo "<br />Your Mac is: ";
echo $mac;
//echo "<pre>$output</pre>"
?>
再一次,我只是想在這裏留下來幫助別人。
相關問題
- 1. 獲取客戶端的MAC地址和IP地址訪問我的網站
- 2. 獲取客戶端的MAC地址。
- 3. 如何在asp.net中獲取客戶端的mac地址?
- 4. 如何在Xamarin.Forms中獲取客戶端設備的MAC地址?
- 5. 如何獲取訪問我的網站的計算機的Mac地址?
- 6. 如何在java servlet中獲取客戶端MAC地址?
- 7. 獲取網絡客戶端的MAC地址,使用PHP
- 8. 如何獲取客戶端的MAC地址
- 9. 如何獲取客戶端的MAC地址,而不使用ActiveX
- 10. 如何使用ioctl函數獲取客戶端的MAC地址?
- 11. 我如何能在Django獲取客戶機的MAC地址
- 12. 我如何獲得jsp客戶端機器的MAC地址
- 13. 客戶端的IP地址/ MAC地址
- 14. 獲取網站訪問者活動lancard的MAC地址?
- 15. 如何獲取客戶端IP地址
- 16. 如何獲取客戶端IP地址
- 17. 如何使用javascript獲取客戶端MAC地址?
- 18. 如何獲取訪問網站網址的用戶ip?
- 19. 在node.js上獲取客戶端的MAC地址
- 20. 如何獲取客戶端的公網IP地址
- 21. 如何獲取地址欄上客戶端類型的地址
- 22. 在ASP.NET應用程序中獲取客戶端MAC地址
- 23. 如何在客戶端使用IP地址獲取GMT時間?
- 24. 如何獲取我周圍的客戶端的IP地址
- 25. 獲取與esp8266連接的客戶端的Mac地址
- 26. 如何獲取不同LAN中客戶/用戶的MAC地址?
- 27. 如何獲取我們網頁的訪客IP地址
- 28. 使用節點js獲取客戶端的MAC地址
- 29. Web服務器來獲取客戶端的機器mac地址
- 30. 如何在客戶端自動獲取客戶端的IP地址c
第一..你是如何把mac地址?你有沒有網絡背景? –
你需要告訴我們你的代碼。 – Vagabond
檢查了此.. https://stackoverflow.com/questions/3011878/how-to-detect-the-mac-address-of-the-user-viewing-our-website-using-php?rq=1 –