>  기사  >  웹 프론트엔드  >  JS_javascript 기술을 사용하여 IP, MAC 및 호스트 이름을 얻는 5가지 방법

JS_javascript 기술을 사용하여 IP, MAC 및 호스트 이름을 얻는 5가지 방법

WBOY
WBOY원래의
2016-05-16 17:15:082143검색

오늘 저는 클라이언트 IP를 얻기 위해 JS(javascript) 작은 프로그램을 작업 중입니다. 온라인으로 검색한 결과 현재 시스템과 브라우저에서는 그 중 많은 것이 유효하지 않다는 것을 발견했습니다. Chrome과 FireFox에서는 직접적으로는 거의 불가능합니다. ActiveX를 사용하여 JS 스크립트 등을 얻습니다. 다음 코드는 모든 Windows NT5.0 이상의 시스템에서 테스트되고 전달되었습니다. 코드는 다음과 같습니다.

방법 1(IE 및 클라이언트의 IE에서만 플랫폼을 통해 ActiveX를 실행할 수 있습니다. XP, SERVER03, 2000):
클라이언트 IP를 가져옵니다.

코드 복사 코드는 다음과 같습니다.

HEAD>
GetLocalIP

IP 가져오기:
클라이언트가 인터넷에 연결되어 있는 경우 네트워크에서 클라이언트의 IP를 가져옵니다.


head>

클라이언트 IP를 얻기 위한 JavaScript(Sina 인터페이스 사용)< /title> <br></head> <br><body> <br><script type="text/javascript" src="http://counter.sina.com.cn/ip/" 문자 집합 ="gb2312" ></script> <!--인터페이스 데이터 가져오기, 문자 세트에 주의 --><br><script type="text/javascript"> "IP 주소:" ILData [0] "<br />") //인터페이스 데이터에 IP 주소 출력<br>document.writeln("주소 유형:" ILData[1] "<br / >"); // 인터페이스 데이터의 IP 주소 유형을 출력<br>document.writeln("Address type:" ILData[2] "<br />"); //시/도 출력 인터페이스 데이터의 IP 주소<br> document.writeln("Address type:" ILData[3] "<br />") //인터페이스 데이터의 IP 주소 출력<br>document.writeln ("주소 유형: " ILData[4] " <br />") //출력 인터페이스 데이터의 IP 주소 연산자 <br></script> <br></body> ></html> <br><br> <br>방법 3(IE 및 클라이언트 IE에서만 ActiveX 실행 허용): <br>VBS 스크립트를 호출하여 컴퓨터 이름 가져오기(모르는 사람도 있음) 컴퓨터 이름이 무엇인지 간단히 설명하면 사용 중인 사용자 이름 대신 이 컴퓨터의 실제 이름과 로그인에 사용한 사용자 이름이라는 것입니다. <br><br> </div> <br><br>코드 복사<br><div class="codetitle"> <span> 코드는 다음과 같습니다.<a style="CURSOR: pointer" data="15147" class="copybut" id="copybut15147" onclick="doCopy('code15147')"><u> </u><HTML> HEAD> </a><title>WMI 스크립팅 HTML
<script>var WshShell =new ActiveXObject( "WScript.Shell"); <div class="codebody" id="code15147">document.write("컴퓨터 이름 = " WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") "<br/>") <BR>document.write("로그인 사용자 이름 = " WshShell .ExpandEnvironmentStrings("%USERNAME%") "<br/>"); <BR></script>




방법 4(IE에만 해당되고 클라이언트의 IE에서는 ActiveX 실행이 허용됨):
컴퓨터 이름, 로그인한 사용자 이름 및 도메인 이름을 가져옵니다(도메인에 가입한 경우 컴퓨터가 어느 도메인인지 표시). 안에).




코드 복사

코드는 다음과 같습니다.
HEAD> WMI 스크립팅 HTML <U><BODY> <script 언어=javascript>var wshNetwork = new ActiveXObject( "WScript.Network"); document.write("도메인 이름 = " wshNetwork.UserDomain "<br/>") document.write("컴퓨터 이름 = " wshNetwork.ComputerName "< br/> "); document.write("로그인 사용자 이름 = " wshNetwork.UserName "<br/>"); <div class="codebody" id="code54668"></script> <BR></BODY> <BR>< /HTML> <BR><BR><BR>방법 5(IE 및 클라이언트의 IE에서만 ActiveX 실행 허용): <BR>LAN IP 주소, 기기의 MAC, 기기 이름(코드 소스 네트워크)을 얻을 수 있습니다. <BR><div class="codetitle"><span><a style="CURSOR: pointer" data="36106" class="copybut" id="copybut36106" onclick="doCopy('code36106')"><U>코드 복사 코드는 다음과 같습니다.<div class="codebody" id="code36106"> <BR><html> 머리> <BR><제목></제목> <BR><몸> <BR><객체 클래스ID:76A64158-CB41-11D1-8B02-00600806D9B6" id=" locator" style="display:none;visibility:hidden"></object> <BR><object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" 스타일 ="display :none;visibility:hidden"></object> <BR><form name="myForm"> <BR><br/>MAC 주소:<input type="text" name=" macAddress"> <BR><br/>IP 주소: <input type="text" name="ipAddress"> <BR><br/>호스트 이름: <입력 유형 ="text " name="hostName"> <BR></body> <BR><script 언어="javascript"> >var sMacAddr =""; <BR>var sIPAddr=""; <BR>var sDNSName=""; <BR>var service = locator.ConnectServer() <BR>service.Security_.ImpersonationLevel=3; >service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); <BR></script> <BR><script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript"> >if( objObject.IPEnabled != null && objObject.IPEnabled != "정의되지 않음" && objObject.IPEnabled == true){ <BR>if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress( 0) ! = "정의되지 않음") <BR>sIPAddr = objObject.IPAddress(0); <BR>if(objObject.MACAddress != null &&objObject.MACAddress != "정의되지 않음") <BR>sMacAddr = objObject.MACAddress; 🎜>if (objObject.DNSHostName != null &&objObject.DNSHostName != "정의되지 않음") <BR>sDNSName = objObject.DNSHostName; <BR>} <BR></script> <BR><BR><script FOR ="foo " EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript"> <BR>myForm.macAddress.value=sMacAddr; <BR>myForm.ipAddress.value=sIPAddr; 호스트 이름.값 =sDNS이름 <BR></script></script></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="jquery 돋보기 효과는 정말 아름답습니다_jquery" href="http://m.php.cn/ko/faq/15444.html">jquery 돋보기 효과는 정말 아름답습니다_jquery</a></span><span>다음 기사:<a class="dBlack" title="jquery 돋보기 효과는 정말 아름답습니다_jquery" href="http://m.php.cn/ko/faq/15446.html">jquery 돋보기 효과는 정말 아름답습니다_jquery</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="http://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ko/faq/1609.html" title="Bootstrap 목록 그룹 구성 요소에 대한 심층 분석" class="aBlack">Bootstrap 목록 그룹 구성 요소에 대한 심층 분석</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1640.html" title="JavaScript 함수 커링에 대한 자세한 설명" class="aBlack">JavaScript 함수 커링에 대한 자세한 설명</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1949.html" title="JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)" class="aBlack">JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2248.html" title="Angularjs는 WeChat UI(weui)를 통합합니다." class="aBlack">Angularjs는 WeChat UI(weui)를 통합합니다.</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2351.html" title="JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술" class="aBlack">JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="http://m.php.cn/ko/about/us.html">회사 소개</a><a href="http://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="http://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>