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
우정에 정력을 쏟아라. 그러면 당신에게 돌아오는 대가는 놀라울 만큼 만족스러울 것이다. 친구들이 당신을 필요로 할 때 당신이 그들에게 도움을 준다면, 당신이 후원과 위안을 얻기 위해 그들을 필요로 할 때 좋은 친구들이 도움을 줄 것이다. 롱펠로우가 말했듯이 친구를 가지려면 친구가 되어라. (어니 젤린스키 "결혼하지 않는 즐거움"中에서)