ASP获取客户端IP用户名等信息

   }A SP 获取客户端 IP 用户名等信息1. ASP.NET 中专用属性:获取服务器电脑名: Page.Server.ManchineName获取用户信息: Page.User获取客户端电脑名: Page.Request.UserHostName获取客户端电脑 IP Page.Request.UserHostA ddress2. 网络编程中的通用方法:获取当前电脑名: static System.Net.Dns.GetHostNam根据电脑名取出全部 IP 地址: static System.Net.Dns.Resolv 电脑名 ) .A ddressList也可根据 IP 地址取出电脑名: static System.Net.Dns.Resolv IP 地址 ) .HostName3. 系统环境类的通用属性:当前电脑名: static System.Environment.MachineName当前电脑所属网域: static System.Environment.UserDomainName当前电脑用户: static System.Environment.UserName   4. if Request.ServerVariables["HTTP_VIA "]!=nul {   string user_IP=Request.ServerVariables["HTTP_X_FORWA RDED_FOR"].ToStr ;}else{str user_IP=Request.ServerVariables["REMOTE_A DDR"].ToStr ;}    5.<%=Request.UserHostA ddress%>6. 获取客户端 IP:privat string GetClientIP   {    string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWA RDED_FOR"];    if null == result || result == String.Empti    {     result = HttpContext.Current.Request.ServerVariables["REMOTE_A DDR"];    }    if null == result || result == String.Empti    {     result = HttpContext.Current.Request.UserHostA ddress;    }    return result;获取 MA C 地址 :[DllImport "Iphlpapi.dll" ]Int32 host,   privat static extern int SendA RP Int32 dest.ref Int64 mac,ref Int32 length ;   [DllImport "Ws2_32.dll" ]   privat static extern Int32 inet_addr string ip ;System.EventA rg e    privat void Page_Load object sender.   {    // 此处放置用户代码以初始化页面    try    {     string userip=Request.UserHostA ddress;     string strClientIP = Request.UserHostA ddress.ToStr .Trim ;     Int32 ldest = inet_addr strClientIP ; // 目的地的 ip     Int32 lhost = inet_addr "" ;    // 外地服务器的 ip     Int64 macinfo = new Int64 ;     Int32 len = 6;0,     int re = SendA RP ldest. ref macinfo, ref len ;     string mac_src=macinfo.ToStr "X" ;     if mac_src == "0"     {      if userip=="127.0.0.1"       Response.Writ " 正在访问 Localhost!" ;      else       Response.Writ " 欢迎来自 IP 为 " + userip + " 朋友! " + "<br>" ;      return;     }     while mac_src.Length<12     {"0"       mac_src = mac_src.Insert 0.;     }     string mac_dest="";     for int i=0;i<11;i++     {      if 0 == i % 2      {       if i == 10       {mac_src.Substr i,        mac_dest = mac_dest.Insert 0.2 ;       }       else       {mac_src.Substr i,        mac_dest ="-" + mac_dest.Insert 0.2 ;       }      }     }MA C 地址为 "+mac_dest+" 朋友!      Response.Writ " 欢迎来自 IP 为 "+userip+ "<br>" + "."      +    "<br>" ;    }    catch Exception err    {     Response.Writ err.Messag ;    }

c#获取远程 IP&MAC地址

如果要想获得远程的地址,需要用sendarp这个函数来实现。具体的代码如下:[DllImport("Iphlpapi.dll")]private static unsafe extern int SendARP(Int32 dest,Int32 host,ref IntPtr mac,ref IntPtr length);[DllImport("Ws2_32.dll")]private static extern Int32 inet_addr(string ip);Int32 ldest= inet_addr("157.60.68.163");//目的地的ipInt32 lhost= inet_addr("157.60.68.33");//本地的iptry{Byte[] macinfo=new Byte[6];Int32 length=6;IntPtr mac=new IntPtr(macinfo[0]);IntPtr len=new IntPtr(6);int ii=SendARP(ldest,lhost, ref mac, ref len);Console.WriteLine("Mac Add:"+mac);Console.WriteLine("length:"+len);}catch(Exception err){Console.WriteLine(err);}
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《ASP获取客户端IP用户名等信息》
文章链接:https://www.skykkk.com/archives1938.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

相关推荐

  • 暂无文章