/// <summary>/// using System.Web;/// using System.Management;/// </summary>public static void main(){//客户端ip:HttpContext.Current.Request.ServerVariables.Get("Remote_Addr").ToString();//客户端主机名:HttpContext.Current.Request.ServerVariables.Get("Remote_Host").ToString();//客户端浏览器IE:string Browser = HttpContext.Current.Request.Browser.Browser;//客户端浏览器 版本号:int MajorVersion = System.Web.HttpContext.Current.Request.Browser.MajorVersion;//客户端操作系统:string Platform = System.Web.HttpContext.Current.Request.Browser.Platform;//服务器ip:HttpContext.Current.Request.ServerVariables.Get("Local_Addr").ToString();//端口:
            HttpContext.Current.Request.Url.Port.ToString();//服务器名:System.Web.HttpContext.Current.Request.ServerVariables.Get("Server_Name").ToString();//获取网卡的地址、本地的IP地址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];}}}//获取远程客户端的网卡物理地址(MAC)(本机测试不了)string MAC = GetMac(HttpContext.Current.Request.UserHostAddress.ToString());//cpu序列号string cpuInfo = "";ManagementClass cimobject = new ManagementClass("Win32_Processor");ManagementObjectCollection moc = cimobject.GetInstances();foreach (ManagementObject mo in moc){cpuInfo = mo.Properties["ProcessorId"].Value.ToString();string cpu = "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;string yinpan = "硬盘序列号:" + HDid.ToString();}//获取网卡硬件地址ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection moc2 = mc.GetInstances();foreach (ManagementObject mo in moc2){if ((bool)mo["IPEnabled"] == true){string yinpan = "MAC address/t{0}" + mo["MacAddress"].ToString();}mo.Dispose();}}/// <summary>/// 获取远程客户端的网卡物理地址(MAC)/// using System.Diagnostics;/// using System.Text.RegularExpressions;/// </summary>/// <param name="IP"></param>/// <returns></returns>private static 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 "";}}}

转载于:https://www.cnblogs.com/cang12138/p/5850051.html

.NET获取机器信息相关推荐

  1. python获取电脑的机器码_python获取机器信息脚本(网上寻找的)

    # -*- coding: UTF-8 -*- import psutil import json import os import socket import struct import time ...

  2. [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)

    本文转自:http://www.msproject.cn/Article/GetHardwareInformation.aspx 原文如下: -------- 在很多情况下,你可能都需要得到微机的硬件 ...

  3. 使用Python的psutil包获取机器IPv4信息

    实现 在Python环境下,通过使用psutil包获取机器IP信息.测试机器为Ubuntu18.04. import psutildef getIP():"""获取ipv ...

  4. iOS学习笔记(十三)——获取手机信息(UIDevice、NSBundle、NSLocale)

    2019独角兽企业重金招聘Python工程师标准>>> iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便 ...

  5. Windows Mobile 获取基站信息(LAC,CellID)

    前言: 在做手机定位应用软件,有两种方法可以实行定位: 1.利用基站定位,通过手机获取基站信息,再根据该信息获取经纬度: 2.利用GPS定位,直接获取经纬度信息. 利弊: 1.基站定位精确度低,误差范 ...

  6. 【web安全】Spring boot heapdump获取敏感信息

    一.概述 微服务是目前较为热门的技术,Spring boot 是 Spring 的一套快速配置脚手架,可以基于Spring boot 快速开发单个微服务,微服务的特点决定了功能模块分布式部署,在不同的 ...

  7. android电视打印信息解析,液晶电视获取打印信息的方法与操作

    通过本文我们先来了解一下打印信息,首先要说的就是打印信息并不要打印机,只需要我们的烧录器就可以了.打印信息是什么呢,打印信息是电视机主控送出来的一段代码,我们通过电脑或是手机来查看代码,是机器本身运行 ...

  8. 获取手机信息(UIDevice、NSBundle、NSLocale)

    iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到 ...

  9. 机器信息MachineInfo

    不管是业务功能需要还是开发诊断需要,经常需要用到CPU内存硬盘等信息,或者需要主板编号和系统编号做唯一设备标识.于是设计了机器信息类 MachineInfo ,支持Windows.Linux.Rasp ...

最新文章

  1. Android自定义View实现仿QQ实现运动步数效果
  2. ASP.NET MVC4+BootStrap实战
  3. 青龙面板多容器教程、一键多容器
  4. python现有两个磁盘文件a和b_有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中Python实例...
  5. Dreamweaver使用详解
  6. 拼图登陆拼图二维码验证_如何使用拼图快速轻松地构建静态网站
  7. strace 简单用法
  8. Part1: Specification of Required Functions
  9. HALCON:模板匹配方法总结
  10. redis windows下使用及redis命令
  11. python画圣诞树_python画圣诞树
  12. 217.存在重复元素 (力扣leetcode) 博主可答疑该问题
  13. 数值运算pythonmopn_python – 计算每列的Pandas DataFrame的自相关性
  14. VC模拟鼠标的两种方式(SendMessage、mouse_event)
  15. html单元格点击变色,当我将鼠标悬停在html表格上时,更改单元格的颜色
  16. 转——韩寒:一个流传多年的谣言
  17. Linux命令之杀掉被占用的端口号
  18. rstudio安装后如何打开_请问Rstudio安装后无法运行怎么弄?
  19. 10.27Unity事件、场景烘焙、Render Texture
  20. 一个程序员竟然喜欢上了写诗

热门文章

  1. hadoop 1.2.1 安装步骤 伪分布式
  2. CentOS6.0搭建DNS
  3. 类似QQ管家页面jquery图片显隐轮换效果
  4. codeblocks、wxWidgets环境配置
  5. Ubuntu 10.04编译安装CodeBlocks 10.5
  6. hive in 写法/linux OR CDH如果查看hive的版本
  7. Unit Testing for WinForm
  8. oracle数据库的net manager配置监听(插图)
  9. 饿了么交易系统应用架构演进
  10. shell编程面试必会30题