WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

Posted on   WebEnh  阅读(4109)  评论(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#
标签: C#服务器IP

 

0
0
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2016-12-13 JQuery,C#,sqlServer 实现无极限多级树形控件
2016-12-13 C#结合Jquery LigerUI Tree插件构造树
2016-12-13 [环境搭建] VS-Visual Studio-IIS Express 支持局域网访问
2016-12-13 如何在 ASP.NET 4.6 与 IIS10 中运用 HTTP/2 ?
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多