JScript는 ActiveXObject를 호출하여 게스트의 네트워크 카드 MAC 주소를 얻습니다. IE (IE8+는 테스트되지 않았다)에서만 실행할 수 있습니다. 보안 프롬프트가 있습니다. 여기에는 다음과 같습니다.
코드 사본은 다음과 같습니다.
이 페이지의 ActiveX 컨트롤 과이 페이지의 다른 섹션 간의 상호 작용은 안전하지 않을 수 있습니다. 이런 종류의 상호 작용을 허용하고 싶습니까?
선택 "예", 오류가보고되면 얻을 수 없습니다.
소스 코드는 다음과 같습니다.
<html> <head> <title> jscript+activex 게스트의 Mac 네트워크 카드 주소를 얻습니다 </title> </head> <body> <객체 classid = "clsid : 76a64158-cb41-11d1-11d1-8b02-00600806d9b6"id = "lovator"style = "디스플레이 : 없음; classid = "clsid : 75718c9a-f029-11d1-a1ac-00c04fb6c223"id = "foo"style = "display : none; 가시성 : 숨겨진"> </object> <양식 이름 = "myform"> <br/> mac 주소 : "text" "type" "type =" "IP" "ip" 이름 = "iPaddress"> <br/> 호스트 이름 : <입력 유형 = "text"name = "hostname"> </form> </body> </html> <script language = "javaScript"> var smacaddr = ""; var sipaddr = ""; var sdnsname = ""; var service = locator.connectserver (); service.security_.impersonationlevel = 3; service.instancesofasync (foo, 'win32_networkadapterconfiguration'); </script> <script for = "foo"event = "onobjectready (objobject, objasynccontext)"언어 = "jscript"> if (objobject.ipenabled! = null && objobject.ipenabled! ! = null && objobject.ipaddress (0)! = "undefined"&& objobject.dnsserversearchorder! = null) sipaddr = objobject.ipaddress (0); if (objobject.macaddress! = null && objobject.macaddress! = "undefined") smacaddr = objobject.macaddress; if (objobject.dnshostname! = null && objobject.dnshostname! = "undefined") sdnsname = objobject.dnshostname; } </script> <script for = "foo"event = "oncompleted (hresult, perrorobject, pasynccontext)"언어 = "jscript"> myform.macaddress.value = smacaddr; myform.ipaddress.value = sipaddr; myform.hostname.value = sdnsname; </스크립트>