zoukankan      html  css  js  c++  java
  • C#获取客户端ip

    客户端ip:
    Request.ServerVariables.Get("Remote_Addr").ToString();
    客户端主机名:
    Request.ServerVariables.Get("Remote_Host").ToString();
    客户端浏览器IE:
    Request.Browser.Browser;
    客户端浏览器 版本号:
    Request.Browser.MajorVersion;
    客户端操作系统:
    Request.Browser.Platform;
    服务器ip:
    Request.ServerVariables.Get("Local_Addr").ToString();
    服务器名:
    Request.ServerVariables.Get("Server_Name").ToString();
    如果你想进一步了解ServerVariables,可以用
    foreach(String o in Request.ServerVariables){
    Response.Write(o+"="+Request.ServerVariables[o]+"<br>");
    }
    string stringMAC = "";
       string stringIP = "";
       ManagementClass MC = new ManagementClass ("Win32_NetworkAdapterConfiguration");
       ManagementObjectCollection MOC= MC.GetInstances();
    
       foreach(ManagementObject MO in MOC)
       {
        if ((bool)MO["IPEnabled"] == true)
        {
           stringMAC += MO["MACAddress"].ToString(); //获取网卡的地址
           string[] IPAddresses = (string[]) MO["IPAddress"]; //获取本地的IP地址
           if(IPAddresses.Length > 0)
           stringIP = IPAddresses[0];
           Response.Write(stringMAC+"/"+stringIP);
         }
       }
    asp.net+c#如何获取客户端网卡的MAC地址?
    //要引用到以下两个命名空间
    using System.Diagnostics;
    using System.Text.RegularExpressions;
    
    //获取远程客户端的网卡物理地址(MAC)
    public string GetMac(string IP)   //para IP is the client's IP
    {
    string dirResults="";
    ProcessStartInfo psi = new ProcessStartInfo();
    Process proc = new Process();
    psi.FileName = "nbtstat";
    psi.RedirectStandardInput = false;
    psi.RedirectStandardOutput = true;
    psi.Arguments = "-A " + IP;
    psi.UseShellExecute = false;
    proc = Process.Start(psi);
    dirResults = proc.StandardOutput.ReadToEnd();
    proc.WaitForExit();
    dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");
    
    Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?<key>((.)*?))__MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
    Match mc=reg.Match(dirResults+"__MAC");
    
    if(mc.Success)   
    {
    return mc.Groups["key"].Value;
    }
    else
    {
    reg=new Regex("Host not found",RegexOptions.IgnoreCase|RegexOptions.Compiled);
    mc=reg.Match(dirResults);
    if(mc.Success)
    {
    return "Host not found!";
    }
    else
    {
    return "";
    }
    }
    }
    
    //在页面上打印出客户端的网卡物理地址(MAC)
    Response.Write(this.GetMac(Request.UserHostAddress.ToString()));
    
     获取cpu序列号,硬盘ID,网卡MAC地址
    private void GetInfo()
      {
       string cpuInfo = "";//cpu序列号
       ManagementClass cimobject = new ManagementClass("Win32_Processor");
       ManagementObjectCollection moc = cimobject.GetInstances();
       foreach(ManagementObject mo in moc)
       {
        cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
        Response.Write ("cpu序列号:"+cpuInfo.ToString ());
       }
    
       //获取硬盘ID
       String HDid;
       ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
       ManagementObjectCollection moc1 = cimobject1.GetInstances();
       foreach(ManagementObject mo in moc1)
       {
        HDid = (string)mo.Properties["Model"].Value;
        Response.Write ("硬盘序列号:"+HDid.ToString ());
       }
    
    
       //获取网卡硬件地址
    
       ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
       ManagementObjectCollection moc2 = mc.GetInstances();
       foreach(ManagementObject mo in moc2)
       {
        if((bool)mo["IPEnabled"] == true)
         Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
        mo.Dispose();
       }
      }
    /// <summary>
        /// 获取用户的IP地址
        /// </summary>
        /// <returns></returns>
        public static string GetIPAddress()
        {
            string user_IP = string.Empty;
            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
            {
                if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
                {
                    user_IP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
                }
                else
                {
                    user_IP = System.Web.HttpContext.Current.Request.UserHostAddress;
                }
            }
            else
            {
                user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
            Regex reip = new Regex("(\\d+).(\\d+).(\\d+).(\\d+)");
            return reip.Replace(user_IP, "*.$2.$3.$4");
        }
  • 相关阅读:
    "动作面板"组件:<action-sheet> —— 快应用组件库H-UI
    "浮动弹层"组件:<float-layout> —— 快应用组件库H-UI
    "幕帘"组件:<curtain> —— 快应用组件库H-UI
    "轻提示"组件:<toast> —— 快应用组件库H-UI
    "模态框"组件:<modal> —— 快应用组件库H-UI
    "同一行代码片段"组件:<code> —— 快应用组件库H-UI
    "电脑程序输出"组件:<samp> —— 快应用组件库H-UI
    "多行代码"组件:<pre> —— 快应用组件库H-UI
    "按键提示"组件:<kbd> —— 快应用组件库H-UI
    "变量赋值"组件:<var> —— 快应用组件库H-UI
  • 原文地址:https://www.cnblogs.com/spider024/p/2986634.html
Copyright © 2011-2022 走看看