您的位置:首页 > 编程语言 > C#

c#中获取服务器IP,客户端IP以及其它

2012-11-02 17:44 477 查看
客户端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();


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: