zoukankan      html  css  js  c++  java
  • ASP.NET获取客户端IP及MAC地址

    获取客户端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 .Net_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 
    = .Net_addr(strClientIP); //目的地的ip
        Int32 lhost = .Net_addr("");   //本地服务器的ip
        Int64 macinfo = new Int64();
        Int32 len 
    = 6;
        
    int res = SendARP(ldest,0ref 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);
       }
      }
  • 相关阅读:
    Linux 内核中的 Device Mapper 机制
    阿里云 Angular 2 UI框架 NG-ZORRO介绍
    Docker容器 暴露多个端口
    修改docker容器的端口映射
    Ubuntu Docker安装
    Docker容器技术的PaaS云平台架构设计***
    scala 学习笔记三 闭包
    scala 学习笔记二 方法与函数
    scala 学习笔记一 列表List
    Python3 写Windows Service服务程序
  • 原文地址:https://www.cnblogs.com/Lewis/p/1131158.html
Copyright © 2011-2022 走看看