【ASP.NET】#001 获取服务器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();
   }
}

实测 TEST

这边有获取 客户端ip ,端口,域名,以及服务端地址

var requestIP = HttpContext.Current.Request.UserHostAddress;  //请求的IP地址
var requestIPName = HttpContext.Current.Request.Url.DnsSafeHost;   //可能是DNS,或者域名,不一定为IP地址
var port = HttpContext.Current.Request.Url.Port;  //当前请求HTTP的端口
var serverIP =  HttpContext.Current.Request.ServerVariables.Get("Local_Addr").ToString();   //获取服务端IP地址
var ip = requestIP + ":" + port + "/HT/ "+"   requestIP:" + requestIP + "==>requestIPName:" + requestIPName;

测试结果:

时间: 2024-09-27 23:39:39

【ASP.NET】#001 获取服务器IP的相关文章

再论 ASP.NET 中获取客户端IP地址

说到IP获取无非是我们常见的以下几种方式,但是具体获取的值具体区别在哪?网上不乏相关文章,说的也是很详细,但是真正使用起来,还有很多不太对的地方.IP在不同系统中,应用相当广泛,常见的日志记录.广告分区域投放等. 1: HttpContext.Current.Request.ServerVariables["HTTP_VIA"]; 2: HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"

C# 之 获取服务器IP,客户端IP以及其它

1.获取客户端IP:Request.ServerVariables.Get("Remote_Addr").ToString(); 2.获取客户端主机名:Request.ServerVariables.Get("Remote_Host").ToString(); 3.客户端浏览器:Request.Browser.Browser; 4.客户端浏览器 版本号:Request.Browser.MajorVersion; 5.客户端操作系统:Request.Browser.P

获取服务器IP,客户端IP

客户端IP相关的变量 1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP. 2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造. 3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造. 服务器端IP相关的变量 1. $SERVER_NAME,需要使用函数gethostbyname()获得.这个变量无论在服务器端还是客户端均能正确显

php脚本时 linux命令获取服务器IP

exec("netstat -anp | grep smtp",$sendList);   //php脚本获取服务器邮件进程数 exec("netstat -anp |grep tcp",$sendList);   //php脚本获取服务器进程数 exec("ifconfig eth0 | grep 'inet addr' | awk '{ print $2}' | awk -F: '{print $2}'",$ser_IP); //获取服务器I

php cli方式下获取服务器ip

(未整理....) (1)php cli方式下获取服务器ip [php]  function getServerIp(){          $ss = exec('/sbin/ifconfig eth0 | sed -n \'s/^ *.*addr:\\([0-9.]\\{7,\\}\\) .*$/\\1/p\'',$arr);               $ret = $arr[0];          return $ret;      } function getServerIp(){

c#中获取服务器IP,客户端IP以及网卡物理地址

1 客户端ip: 2 Request.ServerVariables.Get("Remote_Addr").ToString(); 3 客户端主机名: 4 Request.ServerVariables.Get("Remote_Host").ToString(); 5 客户端浏览器IE: 6 Request.Browser.Browser; 7 客户端浏览器 版本号: 8 Request.Browser.MajorVersion; 9 客户端操作系统: 10 Req

c#中获取服务器IP,客户端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:Re

c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明

客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariables.Get("Remote_Host").ToString(); 客户端浏览器IE: Request.Browser.Browser; 客户端浏览器 版本号: Request.Browser.MajorVersion;// 客户端操作系统: Request.Browser.Platfo

Java获取服务器IP和客户端IP

服务器IP: String addr = InetAddress.getLocalHost().getHostAddress(); 说明:很明显上面是没考虑到服务器有多个iP的情况. 客户顿啊IP: /** * 获取IP * * @param request HttpServletRequest * @return IP字符串 */ public static String getRemoteHost(HttpServletRequest request) { String ip = reque