获取客户端IP:


private string GetClientIP()

  {

   string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

   if (null == result || result == String.Empty)

   {

    result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

   }


   if (null == result || result == String.Empty)

   {

    result = HttpContext.Current.Request.UserHostAddress;

   }

   return result;

  }


获取MAC地址:


[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);


  private void Page_Load(object sender, System.EventArgs e)

  {

   // 在此处放置用户代码以初始化页面

   try

   {

    string userip=Request.UserHostAddress;

    string strClientIP = Request.UserHostAddress.ToString().Trim();

    Int32 ldest = inet_addr(strClientIP); //目的地的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")

      Response.Write ("正在访问Localhost!");

     else

      Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "<br>");

     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))

     {

      if ( i == 10 )

      {

       mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2));

      }

      else

      {

       mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2));

      }

     } 

    }


    Response.Write ("欢迎来自IP为"+userip+ "<br>" + ",MAC地址为"+mac_dest+"的朋友!" 


     +   "<br>");

   }

   catch(Exception err) 

   { 

    Response.Write(err.Message);

   }

  }