如何获得客户端的网关地址,谢谢了

解决方案 »

  1.   

    http://www.chenjiliang.com/Article/View.aspx?ArticleID=11280这里有你想要的东西
      

  2.   

    要想获得客户端的MAC,WEB服务器必须在同一局域网网段下,既然已经在同网一网段下,子网掩码、网关都是一样的了哈;所以只能是获取客户端IP到MAC的转换过程,如果局域网MAC有登记信息的话就可以确定用户的访问记录了。可以参考偶以前写过ASP.NET的例子:   
        
      <%@Page   language="C#"   Debug="True"%>   
      <%@Import   Namespace="System.Data"%>   
      <%@Import   Namespace="System.Data.SqlClient"%>   
      <%@Import   Namespace="System.Runtime.InteropServices"%>   
      <Script   Language="C#"   runat="server">   
        
      [DllImport("Iphlpapi.dll")]     
      private   static   extern   int   SendARP(Int32   dest,Int32   host,ref   Int64   mac,ref   Int32   length);     
      [DllImport("Ws2_32.dll")]     
      private   static   extern   Int32   inet_addr(string   ip);   
        
      void   Page_Load(Object   sender,EventArgs   e)   
      {   
      try   
      {   
      string   userip=Request.UserHostAddress;   
      Int32   ldest=   inet_addr(userip);   //目的地的ip     
      Int32   lhost=   inet_addr("");   //本地服务器的ip     
      Int64   macinfo   =   new   Int64();     
      Int32   len   =   6;     
      int   res   =   SendARP(ldest,0,   ref   macinfo,   ref   len);   
      string   mac_src=macinfo.ToString("X");   
      if(mac_src=="0")   
      {   
      if(userip=="127.0.0.1")   
      userinfo.Text="正在访问Localhost!";   
      else   
      userinfo.Text="欢迎来自IP为"+userip+"的朋友!";   
      return;   
      }   
      while(mac_src.Length<12)   
      {   
      mac_src=mac_src.Insert(0,"0");   
      }   
      string   mac_dest="";   
      for(int   i=0;i<11;i++)   
      {   
      if(0==(i%2))   
      mac_dest=mac_dest.Insert(0,mac_src.Substring(i,2));   
      }   
      userinfo.Text="欢迎来自IP为"+userip+",MAC地址为"+mac_dest+"的朋友!";   
        }   
        catch(Exception   err)     
        {     
      Response.Write(err.Message);   
        }   
      }   
        
      </Script>   
      <htm>   
      <body>   
      <center>   
      <asp:Label   ID="userinfo"   Runat=server></asp:Label>   
      </center>   
      </body>   
      </htm>声明是转载
      

  3.   

    给个EMAIL,把这端代码发给你 
    IP,MAC,服务器名等等要什么有什么
      

  4.   

    public static String getMACAddress() { String address = "";
    String os = System.getProperty("os.name");
    if ( os != null && os.startsWith("Windows")) { 
    try { 
    String command = "cmd.exe /c ipconfig /all";
    Process p = Runtime.getRuntime().exec(command);
    BufferedReader br =
    new BufferedReader(
    new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = br.readLine()) != null) { 
    if (line.indexOf("Physical Address") > 0) { 
    int index = line.indexOf(":");
    index += 2;
    address = line.substring(index);
    break;
    }
    }
    br.close();
    return address.trim();
    }
    catch (IOException e) { }
    }
    return address;
    }
    HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>
    <META http-equiv=Content-Type c>
    <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
    document.forms[0].txtMACAddr.value=unescape(MACAddr);
    document.forms[0].txtIPAddr.value=unescape(IPAddr);
    document.forms[0].txtDNSName.value=unescape(sDNSName);
    //document.formbar.submit();
    </SCRIPT>
    <SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
       if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
       {
        if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
       MACAddr = objObject.MACAddress;
        if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
       IPAddr = objObject.IPAddress(0);
        if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
       sDNSName = objObject.DNSHostName;
        }
    </SCRIPT>
    <META c name=GENERATOR></HEAD>
    <BODY>
    <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
    <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT><SCRIPT language=JScript>
        var service = locator.ConnectServer();
        var MACAddr ;
        var IPAddr ;
        var DomainAddr;
        var sDNSName;
        service.Security_.ImpersonationLevel=3;
        service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); 
    </SCRIPT><FORM id=formfoo name=formbar method=post>
       <INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr>
       <INPUT value=192.168.0.2 name=txtIPAddr>
       <INPUT value=typ name=txtDNSName>
    </FORM>
    </BODY>
    </HTML>
      

  5.   

    运行>cmd > ipconfig
      

  6.   

    首先感谢各位的指导,谢谢各位
    在下面这段代码中,能不能获得网关的参数,谢谢了
     if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) 
      { 
        if(objObject.MACAddress != null && objObject.MACAddress != "undefined") 
      MACAddr = objObject.MACAddress; 
        if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined") 
      IPAddr = objObject.IPAddress(0); 
        if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined") 
      sDNSName = objObject.DNSHostName; 
        }