........................................
ผมลองแล้วได้ผลแบบนี้
SERVER MAC: Array
CLIENT MAC: not found
ไม่รู้จะให้ผลออกมาเป็นเลข MAC ยังไง ใครรูบ้างมาต่อให้หน่อย
คำสั่ง netstat -r และ nbtstat -a
เป็นคำสั่งของ command line บน window เท่านั้นนะครับ
ถ้าคุณใช้ web server บน OS ที่เป็น window ก็จะใช้งานได้
แต่ถ้า web server นั้นอยู่บน OS ที่เป็น linux จะใช้ไม่ได้นะครับ
โดยเฉพาะ nbrstat จะไม่รู้จักเลย ส่วน netstat ข้อมูลที่ออกมาจะ
format ไม่เหมือนที่แสดงบน OS window เลยนะครับ
เพราะฉะนั้นระวังด้วย ครับ
ส่วนบน linux get mac address ยังไง รอผู้รู้มาตอบอีกทีครับ
ขอถามเพิ่มครับ ถ้า เครื่อง client มี interface หลายตัว จะ get mac แต่ละตัวเลย ต้องทำยังไงอ่าคับ
อันนี้อยากรู้ไว้ประดับความรู้เฉยๆ ครับ
<?php
/*
* Getting MAC Address using PHP
* Md. Nazmul Basher
*/
ob_start(); // Turn on output buffering
system(‘ipconfig /all’); //Execute external program to display output
$mycom=ob_get_contents(); // Capture the output into a variable
ob_clean(); // Clean (erase) the output buffer
$findme = “Physical”;
$pmac = strpos($mycom, $findme); // Find the position of Physical text
$mac=substr($mycom,($pmac+36),17); // Get Physical Address
ผมทดลองหลายโค้ด ขนโค้ดมาทดสอบทั้งโลกแล้ว
ในทางปฏิบัติ
บน win เช็ค Mac address ของเครื่องลูกข่ายไม่ได้ เช็คได้แต่ตัวเครืองมันเอง โค้ดทีเจ๋งๆ พอโยนขึ้น server มันก็เช็คแต่การ์ดแลน ของ server คงเพราะ php มันประมวลผลบน server
บน Linux บน Host ที่ผมเช่าๆ ไว้ พบว่า ทาง Host ปิด service ของ exec (เพื่อความปลอดภัย)
สรุปว่า
ปัจจุบัน บน windows หรือ Linux ยังสั่งให้เช็ค เครื่องลูกข่าย ได้หรือเปล่าครับ ทีในกระทู้บอกว่าได้ เช็คดีแล้วหรือเปล่า ว่า เป็น mac ของลูกข่ายๆ แน่ๆ
ใครทราบช่วยหน่อยครับ อยากได้โค้ด
ขอบคุณครับ
Date :
2012-11-23 12:38:43
By :
พ่อหนูดี
No. 16
Guest
Code (PHP)
// Turn on output buffering
ob_start();
//Get the ipconfig details using system commond
system('ipconfig /all');
// Capture the output into a variable
$mycom=ob_get_contents();
// Clean (erase) the output buffer
ob_clean();
$findme = "Physical";
//Search the "Physical" | Find the position of Physical text
$pmac = strpos($mycom, $findme);
// Get Physical Address
$mac=substr($mycom,($pmac+36),17);
//Display Mac Address
echo "MAC4 : ".$mac;