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 Request.Browser.Platform;
 11 服务器ip:
 12 Request.ServerVariables.Get("Local_Addr").ToString();
 13 服务器名:
 14 Request.ServerVariables.Get("Server_Name").ToString();
 15 如果你想进一步了解ServerVariables,可以用
 16 foreach(String o in Request.ServerVariables){
 17 Response.Write(o+"="+Request.ServerVariables[o]+"<br>");
 18 }
 19 string stringMAC = "";
 20    string stringIP = "";
 21    ManagementClass MC = new ManagementClass ("Win32_NetworkAdapterConfiguration");
 22    ManagementObjectCollection MOC= MC.GetInstances();
 23
 24    foreach(ManagementObject MO in MOC)
 25    {
 26     if ((bool)MO["IPEnabled"] == true)
 27     {
 28        stringMAC += MO["MACAddress"].ToString(); //获取网卡的地址
 29        string[] IPAddresses = (string[]) MO["IPAddress"]; //获取本地的IP地址
 30        if(IPAddresses.Length > 0)
 31        stringIP = IPAddresses[0];
 32        Response.Write(stringMAC+"/"+stringIP);
 33      }
 34    }
 35 asp.net+c#如何获取客户端网卡的MAC地址?
 36 //要引用到以下两个命名空间
 37 using System.Diagnostics;
 38 using System.Text.RegularExpressions;
 39
 40 //获取远程客户端的网卡物理地址(MAC)
 41 public string GetMac(string IP)   //para IP is the client‘s IP
 42 {
 43 string dirResults="";
 44 ProcessStartInfo psi = new ProcessStartInfo();
 45 Process proc = new Process();
 46 psi.FileName = "nbtstat";
 47 psi.RedirectStandardInput = false;
 48 psi.RedirectStandardOutput = true;
 49 psi.Arguments = "-A " + IP;
 50 psi.UseShellExecute = false;
 51 proc = Process.Start(psi);
 52 dirResults = proc.StandardOutput.ReadToEnd();
 53 proc.WaitForExit();
 54 dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");
 55
 56 Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?<key>((.)*?))__MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
 57 Match mc=reg.Match(dirResults+"__MAC");
 58
 59 if(mc.Success)
 60 {
 61 return mc.Groups["key"].Value;
 62 }
 63 else
 64 {
 65 reg=new Regex("Host not found",RegexOptions.IgnoreCase|RegexOptions.Compiled);
 66 mc=reg.Match(dirResults);
 67 if(mc.Success)
 68 {
 69 return "Host not found!";
 70 }
 71 else
 72 {
 73 return "";
 74 }
 75 }
 76 }
 77
 78 //在页面上打印出客户端的网卡物理地址(MAC)
 79 Response.Write(this.GetMac(Request.UserHostAddress.ToString()));
 80
 81  获取cpu序列号,硬盘ID,网卡MAC地址
 82 private void GetInfo()
 83   {
 84    string cpuInfo = "";//cpu序列号
 85    ManagementClass cimobject = new ManagementClass("Win32_Processor");
 86    ManagementObjectCollection moc = cimobject.GetInstances();
 87    foreach(ManagementObject mo in moc)
 88    {
 89     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
 90     Response.Write ("cpu序列号:"+cpuInfo.ToString ());
 91    }
 92
 93    //获取硬盘ID
 94    String HDid;
 95    ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
 96    ManagementObjectCollection moc1 = cimobject1.GetInstances();
 97    foreach(ManagementObject mo in moc1)
 98    {
 99     HDid = (string)mo.Properties["Model"].Value;
100     Response.Write ("硬盘序列号:"+HDid.ToString ());
101    }
102
103
104    //获取网卡硬件地址
105
106    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
107    ManagementObjectCollection moc2 = mc.GetInstances();
108    foreach(ManagementObject mo in moc2)
109    {
110     if((bool)mo["IPEnabled"] == true)
111      Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
112     mo.Dispose();
113    }
114   }
时间: 2025-01-07 00:16:03

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

WebService服务端获取访问的客户端IP

WebService服务端获取 访问的客户端IP: @WebService(serviceName = "XXXService", targetNamespace ="http://ws.sms.zjapl.com") public class XXXWebServiceImpl implements XXXWebService { @Resource(name ="org.apache.cxf.jaxws.context.WebServiceContex

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

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

Django 如何获取真实远程客户端IP

问题简述 我们知道HttpRequest.META字典包含所有HTTP头部信息(可用的头部信息取决于客户端和服务器).一般情况下,HttpRequest.META.get('REMOTE_ADDR')一句代码就能获取到你想要的客户端IP.然而,如果部署了代理服务器等原因,就会导致得到的IP并不是真实的客户端IP.那么如何才能获取到真实的远程客户端IP呢? 解决方法参考 1.自定义中间件 假如代码文件路径为"custbase.http.SetRemoteAddrFromForwardedFor&q

php中获取用户登陆的IP地址以及常规处理

本文为原创,转载请注明!  在我们开发多站点业务网站中,经常需要获取客户端的ip地址来给用户推荐其所在地址的信息的业务,用php获取客户端的ip地址,我们一般用到的PHP内置方法是$_SERVER['REMOTE_ADDR']. 但是这个函数只能获取访问者本地连接中设置的IP,局域网网关出口的IP地址,如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP.如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面. 所以我们一般为

隐藏邮件头中Exchange服务器信息(IP和主机名)

一.现象描述 ============================================================================================== 通过Exchange发送到公网的邮件,我们查看邮件头的时候,邮件头中会显示邮件路由的所有SMTP路径.这些路径中记录是邮件经过的所有SMTP服务器,这些路径中包含了服务器的FQDN和IP地址.而内部的服务器FQDN和IP地址这些信息泄露到公网不利于服务器安全(个人建议可以保留邮件头信息.下图显示

ASP.NET获取真正的客户端IP地址的6种方法

Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址,本文将介绍解决方法,需要的朋友可以参考下 在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代

如何在SqlServer中获取前端连接的IP地址,计算机名等信息

在一些需求中,可能我们需要知道连接到SqlServer的前端程序的一些系统信息,比如前端连接的计算机名称,IP地址,什么时候开始请求连接,什么时候结束连接等信息. 如果你对SqlServer的系统函数或视图不太了解,这个功能看起来好像比较复杂,而实际上, SqlServer的动态管理视图已经给我们提供了这些信息,下面我们来看两个动态管理视图. 1.Sys.dm_exec_Sessions这个视图中提供了所有连接sqlserver的客户端的一些信息,下面是Sys.dm_exec_Sessions返

Servlet中获取客服端Ip地址(转载)

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的. 但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件, 用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP /** * 获取Ip地址 * @return */ protected String getIpAddr() {