PHP & Others

[함수] [양키협찬] 맥어드레스(Mac Address) 구하기 (WIN + Linux)

페이지 정보

본문

<?
    $ip=getenv("REMOTE_ADDR");

    if(PHP_OS=='WINNT'){
        exec("arp -a", $rgResult);
        $mac_template="/[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}\-[\d|A-F]{2}/i";
        foreach($rgResult as $key=>$value){
            if(strpos($value, $ip)!==FALSE){
                preg_match($mac_template, $value, $matches);
                break;
            }
        }
    } else{
        exec("arp -a | grep $ip", $rgResult);
        $mac_template="/[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}\:[\d|A-F]{2}/i";
        preg_match($mac_template, $rgResult[0], $matches);
    }
    $mac=$matches[0];

    echo "<xmp>"; print_r($mac); echo "</xmp>";
?>

양키 사이트에서 퍼온건데 출처가 기억이 안납니다. ㅡㅡ;;
올리신 양키님께 묵념...

웹호스팅 받는 사람은 안됩니다. ^^;; (서버관리자에게 샤바샤바하면...)

윈도우 + 리눅스 다 되더군요.

ps. arp 명령어는 Address Resolution Protocol의 약자로써 arp cache에 있는
    IP 어드레스에 대한 HW 어드레스(대개 MAC 어드레스란 표현을 많이 사용한다)를
    돌려주는 명령어이다

    [출처] arp 명령어|작성자 노랑배
    http://blog.naver.com/kosthb?Redirect=Log&logNo=80010224358

ps. arp를 exec()로 호출전에 PATH 뚫어주는 센스!!



관련자료

Today's proverb
누구나 잘못할 수는 있지만 누구나 솔직할 수 있는 것은 아닙니다. 그러나 진실한 사람의 아름다움은 무엇과도 바꿀 수 없습니다. 솔직함은 겸손이고 두려움 없는 용기입니다. 잘못으로 부서진 것을 솔직함으로 건설한다면 어떤 폭풍에도 견뎌낼 수 있는 강인함이 있습니다. 가장 연약한 사람이 솔직할 수 있으며 가장 여유로운 사람이 자신의 모습을 볼 수 있고 자신을 아는 사람만이 자신을 드러낼 수 있습니다.