JSがIP、MAC、ホスト名を取得する5つの方法

5589 ワード

今日はJS(javascript)をやってクライアントのIPを獲得する小さいプログラムをやって、インターネットを利用して検索して、多くの現在のシステムとブラウザーの中のがすべて無効で、とてもしようがなくて、Chrome、FireFoxの中でめったにActiveXを利用してIPなどのJS脚本を獲得しません.下のコードはすべてのwindowsNT 5.0及び以上のシステムでテストに合格しました.コードを提供します.
方法の1つ(IEのみで、クライアントのIEは、プラットフォーム:XP、SERVER 03、2000を介して、AcitiveXを実行することができる):
クライアントIPを取得します.
 
  


GetLocalIP


IP:
function GetLocalIPAddr(){ var oSetting = null; var ip = null; try{ oSetting = new ActiveXObject("rcbdyctl.Setting"); ip = oSetting.GetIPAddress; if (ip.length == 0){ return " Internet"; } oSetting = null; }catch(e){ return ip; } return ip; } document.write(GetLocalIPAddr()+"<br/>")


方法二(すべてのプラットフォームとブラウザ):
クライアントがネットワークにあるIPを取得するには、クライアントがネットワークに接続されることが前提となる.
 
  



JavaScript IP[ ]



<br>document.writeln("IP :"+ILData[0]+"<br />"); // IP <br>document.writeln(" :"+ILData[1]+"<br />"); // IP <br>document.writeln(" :"+ILData[2]+"<br />"); // IP <br>document.writeln(" :"+ILData[3]+"<br />"); // IP <br>document.writeln(" :"+ILData[4]+"<br />"); // IP <br>


方法3(IEのみであり、クライアントのIEに対してAcitiveXを実行させる):
VBSスクリプトを呼び出して、コンピュータ名を取得します.(コンピュータ名は何ですか?分かりません.簡単に説明すると、このマシンの物理名称です.あなたが使っているユーザ名ではありません.)とログインしたユーザ名です.
 
  


WMI Scripting HTML


<br>var WshShell =new ActiveXObject("WScript.Shell"); <br>document.write(" = "+ WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")+"<br/>"); <br>document.write(" = "+ WshShell.ExpandEnvironmentStrings("%USERNAME%")+"<br/>"); <br>


方法4(IEのみであり、クライアントのIEに対してAcitiveX動作を許可する):
コンピュータ名、ログインのユーザー名とドメイン名を取得します.
 
  


WMI Scripting HTML


<br>var wshNetwork = new ActiveXObject("WScript.Network"); <br>document.write(" = "+ wshNetwork.UserDomain+"<br/>"); <br>document.write(" = "+ wshNetwork.ComputerName+"<br/>"); <br>document.write(" = "+ wshNetwork.UserName+"<br/>"); <br>


方法5(IEのみであり、クライアントのIEに対してAcitiveX動作を許可する):
LAN IPアドレス、自機のMAC、およびマシン名(コードソースネットワーク)を取得することができます.
 
  


<br/> <br/> <br/><object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"/> <br/><object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"/> <br/><form name="myForm"> <br/><br/>MAC :<input type="text" name="macAddress"/> <br/><br/>IP :<input type="text" name="ipAddress"/> <br/><br/> :<input type="text" name="hostName"/> <br/></form> <br/> <br/> <br/><script language="javascript"> <br>var sMacAddr=""; <br>var sIPAddr=""; <br>var sDNSName=""; <br>var service = locator.ConnectServer(); <br>service.Security_.ImpersonationLevel=3; <br>service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); <br></script> <br/><script for="foo" event="OnObjectReady(objObject,objAsyncContext)" language="JScript"> <br>if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){ <br>if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined") <br>sIPAddr = objObject.IPAddress(0); <br>if(objObject.MACAddress != null &&objObject.MACAddress != "undefined") <br>sMacAddr = objObject.MACAddress; <br>if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined") <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; <br>myForm.hostName.value=sDNSName; <br></script> <br/> </code></pre> <div class="clearfix"> <span id="art_bot" class="jbTestPos"/> </div> </div> </div> </div>