PHP & Others

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

컨텐츠 정보

  • 34,167 조회
  • 1 댓글
  • 0 추천
  • 목록

본문

<?
    $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 뚫어주는 센스!!



관련자료

댓글 1
Today's proverb
인생을 목적으로서가 아니라 하나의 과정으로서 계속되는 여행이라고 생각하라. 당신의 인생 여행은 매일매일 가능한 한 인간적으로 즐길 수 있는 것이다. 꽃향기를 맡기 위해 시간을 내라. 매일매일의 생활이 가끔 어떠한 어려운 문제에 봉착하든지 간에 그 일정 부분을 즐겨라. (제럴드 쿠셀 "성공의 비밀" 中에서)