Làm cách nào để lấy địa chỉ MAC bằng Php hoặc JavaScript ...
Đã hỏi ngày 22 tháng 2 năm 2011 lúc 4:52Feb 22, 2011 at 4:52
7
Địa chỉ MAC [địa chỉ giao diện mạng cục bộ cấp thấp] không tồn tại bước qua các bộ định tuyến IP. Bạn không thể tìm thấy địa chỉ MAC máy khách từ một máy chủ từ xa.
Trong một mạng con cục bộ, các địa chỉ MAC được ánh xạ tới địa chỉ IP thông qua hệ thống ARP. Giao diện trên mạng cục bộ biết cách ánh xạ địa chỉ IP đến địa chỉ MAC. Tuy nhiên, khi các gói của bạn đã được định tuyến trên mạng con cục bộ đến [và thông qua] cổng ra internet "thực", địa chỉ MAC gốc bị mất. Một cách đơn giản, mỗi mạng con trên mạng nhảy của các gói của bạn liên quan đến cùng một loại ánh xạ IP-to-MAC để định tuyến cục bộ trong mỗi mạng con.
Đã trả lời ngày 22 tháng 2 năm 2011 lúc 4:55Feb 22, 2011 at 4:55
POINTYPOODTYPointy
395K59 Huy hiệu vàng575 Huy hiệu bạc607 Huy hiệu Đồng59 gold badges575 silver badges607 bronze badges
echo GetMAC[];
function GetMAC[]{
ob_start[];
system['getmac'];
$Content = ob_get_contents[];
ob_clean[];
return substr[$Content, strpos[$Content,'\\']-20, 17];
}
Về cơ bản, về cơ bản sẽ thực hiện chương trình
$string=exec['getmac'];
$mac=substr[$string, 0, 17];
echo $mac;
0 và phân tích đầu ra điều khiển của nó, dẫn đến địa chỉ MAC của máy chủ [và/hoặc bất cứ khi nào $string=exec['getmac'];
$mac=substr[$string, 0, 17];
echo $mac;
1 được cài đặt và chạy trên].
Top-Master
6,0025 Huy hiệu vàng30 Huy hiệu bạc54 Huy hiệu đồng5 gold badges30 silver badges54 bronze badges
Đã trả lời ngày 30 tháng 9 năm 2016 lúc 18:40Sep 30, 2016 at 18:40
3
Đây là một cách có thể để làm điều đó:
$string=exec['getmac'];
$mac=substr[$string, 0, 17];
echo $mac;
Đã trả lời ngày 22 tháng 4 năm 2017 lúc 20:26Apr 22, 2017 at 20:26
1
Sử dụng chức năng này để lấy địa chỉ MAC máy khách:
function GetClientMac[]{
$macAddr=false;
$arp=`arp -n`;
$lines=explode["\n", $arp];
foreach[$lines as $line]{
$cols=preg_split['/\s+/', trim[$line]];
if [$cols[0]==$_SERVER['REMOTE_ADDR']]{
$macAddr=$cols[2];
}
}
return $macAddr;
}
Đã trả lời ngày 12 tháng 8 năm 2016 lúc 13:37Aug 12, 2016 at 13:37
Ram Ganeshram Ganeshram ganesh
471 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
0
Đã trả lời ngày 22 tháng 2 năm 2011 lúc 5:38Feb 22, 2011 at 5:38
Patrick Fisherpatrick FisherPatrick Fisher
7.8195 Huy hiệu vàng34 Huy hiệu bạc28 Huy hiệu đồng5 gold badges34 silver badges28 bronze badges
4
Để nhận địa chỉ IP và MAC của thiết bị khách hàng
{
if [isset[$_SERVER['HTTP_CLIENT_IP']]]
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if[isset[$_SERVER['HTTP_X_FORWARDED_FOR']]]
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if[isset[$_SERVER['HTTP_X_FORWARDED']]]
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if[isset[$_SERVER['HTTP_FORWARDED_FOR']]]
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if[isset[$_SERVER['HTTP_FORWARDED']]]
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if[isset[$_SERVER['REMOTE_ADDR']]]
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
$macCommandString = "arp " . $ipaddress . " | awk 'BEGIN{ i=1; } { i++; if[i==3] print $3 }'";
$mac = exec[$macCommandString];
return ['ip' => $ipaddress, 'mac' => $mac];
}
Deepak
6161 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges
Đã trả lời ngày 19 tháng 7 năm 2017 lúc 7:29Jul 19, 2017 at 7:29
Ý tưởng là, sử dụng lệnh
$string=exec['getmac'];
$mac=substr[$string, 0, 17];
echo $mac;
2 và chỉ trích xuất địa chỉ MAC.Mà chỉ số của anh ấy $ pmac+33.
Và kích thước của Mac là 17.
Joaumg
1.2221 Huy hiệu vàng12 Huy hiệu bạc27 Huy hiệu đồng1 gold badge12 silver badges27 bronze badges
Đã trả lời ngày 9 tháng 12 năm 2016 lúc 18:24Dec 9, 2016 at 18:24
Điều này in địa chỉ MAC của máy khách
Matt
2.8611 Huy hiệu vàng12 Huy hiệu bạc27 Huy hiệu đồng1 gold badge12 silver badges27 bronze badges
Đã trả lời ngày 2 tháng 6 năm 2019 lúc 6:23Jun 2, 2019 at 6:23
...
function get_remote_macaddr[ $ip ] {
return[ strtoupper[ exec[ "arp -a " . $ip . " | awk '{print $4 }'"] ]
}
// test
$ipaddress = '192.168.20.252';
echo 'ip: '.$ipaddress.", ".'mac_addr: '.get_remote_macaddr[ $ipaddress ];
Đã trả lời ngày 19 tháng 10 năm 2021 lúc 15:21Oct 19, 2021 at 15:21
Trước tiên, bạn kiểm tra tác nhân người dùng của bạn OS Linux hoặc Windows hoặc người khác. Sau đó, cửa sổ hệ điều hành của bạn sau đó mã này sử dụng:
public function win_os[]{
ob_start[];
system['ipconfig-a'];
$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
return $mac;
}
Và OS Linux Ubuntu hoặc Linux của bạn sau đó mã này sử dụng:
public function unix_os[]{
ob_start[];
system['ifconfig -a'];
$mycom = ob_get_contents[]; // Capture the output into a variable
ob_clean[]; // Clean [erase] the output buffer
$findme = "Physical";
//Find the position of Physical text
$pmac = strpos[$mycom, $findme];
$mac = substr[$mycom, [$pmac + 37], 18];
return $mac;
}
Mã này có thể là công việc OS X.
arghtype
4.23611 Huy hiệu vàng45 Huy hiệu bạc58 Huy hiệu Đồng11 gold badges45 silver badges58 bronze badges
Đã trả lời ngày 8 tháng 11 năm 2016 lúc 17:13Nov 8, 2016 at 17:13
Karim Khankarim KhanKarim Khan
Huy hiệu Bạc 911 Huy hiệu Đồng1 silver badge3 bronze badges
//Simple & effective way to get client mac address
// 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 $mac;
Đã trả lời ngày 10 tháng 3 năm 2014 lúc 15:22Mar 10, 2014 at 15:22
4