Hướng dẫn get mac address of client machine using php - lấy địa chỉ mac của máy khách bằng php

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

Làm cách nào để tìm địa chỉ MAC máy khách của tôi?

Windows..
Nhấp vào Bắt đầu> Bảng điều khiển> Mạng và Internet> Mạng và Trung tâm chia sẻ ..
Nhấp vào mạng bạn muốn xem địa chỉ MAC cho ..
Nhấp vào chi tiết ..
Địa chỉ MAC được liệt kê dưới tiêu đề địa chỉ vật lý ..

Một trang web có thể chụp địa chỉ MAC?

Nói chung, một trang web không thể truy cập để tìm hiểu địa chỉ MAC của mình.Tuy nhiên, có những trường hợp đặc biệt trong đó máy chủ có thể tìm hiểu địa chỉ MAC của bạn: IPv6 hỗ trợ các địa chỉ gán theo cách nhúng địa chỉ MAC vào địa chỉ IP.it is not possible for a web site that you access to learn your MAC address. However there are special cases where the server could learn your MAC address: IPv6 supports assigning addresses in a way which embed the MAC address in the IP address.

$ _ Máy chủ remote_addr là gì?

$ _Server ['remote_addr'] trả về địa chỉ IP từ nơi người dùng đang xem trang hiện tại.Returns the IP address from where the user is viewing the current page.

Bạn có thể nhận được địa chỉ MAC bằng JavaScript không?

Không, bạn không thể có được địa chỉ MAC trong JavaScript, chủ yếu là do địa chỉ MAC xác định duy nhất máy tính đang chạy để nó sẽ là một lỗ hổng bảo mật.Bây giờ nếu tất cả những gì bạn cần là một định danh độc đáo, tôi khuyên bạn nên tự tạo một số thuật toán mật mã và lưu trữ nó trong cookie., mainly because the MAC address uniquely identifies the running computer so it would be a security vulnerability. Now if all you need is a unique identifier, I suggest you create one yourself using some cryptographic algorithm and store it in a cookie.

Bài Viết Liên Quan

Chủ Đề