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
얼마 전에 ‘어릴 때에는 무엇이 되고 싶었습니까?’ 라는 질문을 받은 적이 있습니다. 저는 진지하게 이렇게 대답했습니다. ‘솔 바스요.’ 건방지게 듣지 마십시오. 저는 정말 진정한 제 자신이 되고 싶었습니다. <솔바스, 미국의 영상 디자이너>