码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-08-31 15:04:02      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

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.Platform;

6、获取服务器IP:Request.ServerVariables.Get("Local_Addr").ToString();

7、获取服务器名: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();
技术分享   }

技术分享  

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

标签:

原文地址:http://www.cnblogs.com/xinaixia/p/4772955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!