获取windows 网卡GUID和ip信息
# coding: UTF-8
import _winreg GUID=dict()
num = 0
netCfgInstanceID = None
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'System\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}')
keyInfo = _winreg.QueryInfoKey(hkey) for index in range(keyInfo[0]):
try:
hSubKeyName = _winreg.EnumKey(hkey, index)
if hSubKeyName == 'Properties':
continue
hSubKey = _winreg.OpenKey(hkey, hSubKeyName) hNdiInfKey = _winreg.OpenKey(hSubKey, r'Ndi\Interfaces')
lowerRange = _winreg.QueryValueEx(hNdiInfKey, 'LowerRange') #获取网卡厂商名与网卡名、GUID
if lowerRange[0] == 'ethernet':
driverDesc = _winreg.QueryValueEx(hSubKey, 'DriverDesc')[0]
netCfgInstanceID = _winreg.QueryValueEx(hSubKey, 'NetCfgInstanceID')[0]
network_name_key=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%s\Connection'%str(netCfgInstanceID))
network_name = _winreg.QueryValueEx(network_name_key, 'Name')[0]
if netCfgInstanceID == None:
continue
network_ip_list_key=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\%s'%str(netCfgInstanceID)) #获取ip,网关,子网掩码
try:
network_ip_DefaultGateway = _winreg.QueryValueEx(network_ip_list_key, 'DefaultGateway')[0]
network_ip_IPAddress = _winreg.QueryValueEx(network_ip_list_key, 'IPAddress')[0]
network_ip_SubnetMask = _winreg.QueryValueEx(network_ip_list_key, 'SubnetMask')[0]
except:
network_ip_DefaultGateway = _winreg.QueryValueEx(network_ip_list_key, 'DhcpDefaultGateway')[0]
network_ip_IPAddress = _winreg.QueryValueEx(network_ip_list_key, 'DhcpIPAddress')[0]
network_ip_SubnetMask = _winreg.QueryValueEx(network_ip_list_key, 'DhcpSubnetMask')[0]
GUID[num]={'network_name':network_name,'network_dev_name':driverDesc,'network_dev_GUID':netCfgInstanceID,'IPAddress':network_ip_IPAddress,'SubnetMask':network_ip_SubnetMask,'DefaultGateway':network_ip_DefaultGateway}
num +=1
except:
pass for i in GUID.keys():
print("network_name:\t\t%s"%GUID[i]['network_name'])
print("network_dev_name:\t%s"%GUID[i]['network_dev_name'])
print("network_dev_GUID:\t\Device\NPF_%s"%GUID[i]['network_dev_GUID'])
if isinstance(GUID[i]['IPAddress'],list):
print("IPAddress:\t\t%s"%'\n\t\t\t'.join(GUID[i]['IPAddress']))
else:
print("IPAddress:\t\t%s"%GUID[i]['IPAddress'])
if isinstance(GUID[i]['SubnetMask'],list):
print("SubnetMask:\t\t%s"%'\n\t\t\t'.join(GUID[i]['SubnetMask']))
else:
print("SubnetMask:\t\t%s"%GUID[i]['SubnetMask'])
if isinstance(GUID[i]['DefaultGateway'],list):
print("DefaultGateway:\t\t%s"%'\n\t\t\t'.join(GUID[i]['DefaultGateway']))
else:
print("DefaultGateway:\t\t%s"%GUID[i]['DefaultGateway'])
network_name: localnetwork
network_dev_name: Realtek PCIe GBE Family Controller
network_dev_GUID: \Device\NPF_{EDFEB7CD-306A-464A-92CA-655F95210CF3}
IPAddress: 172.17.7.18
SubnetMask: 255.255.240.0
DefaultGateway: 172.17.1.254
获取windows 网卡GUID和ip信息的更多相关文章
- 自动获取windows或者linux系统IP
1.获取Windows下的IP java.net.InetAddress.getLocalHost().getHostAddress(); 2.获取linux下的IP /** * 获取Linux下的I ...
- 在有多个网卡,配置了多个IP的情况下,python 获取本地网卡的主IP
如图所示有多个网卡 本地网卡配置了多个IP class Public_IPOp: @staticmethod def GetLocalIP(): rt = [False] # 根节点 reg_root ...
- vc++获取系统网卡列表及IP地址信息
#include "stdafx.h" #include <Windows.h> #include <IPHlpApi.h> #include <io ...
- SQL获取客户端网卡电脑名称等信息
Select SYSTEM_USER 当前用户名, USER_NAME() 当前所有者,db_Name() 当前数据库,@@SPID 当前进程号,(select top 1 FileName from ...
- Delphi 10.3版本获取windows系统版本和CPU信息
procedure TForm1.Button1Click(Sender: TObject); var mm:TRegistry; cpu:string; begin mm:=TRegistry.Cr ...
- 获取指定网卡对应的IP地址
#include <stdio.h> #include <string.h> #include <sys/socket.h> #include <sys/ty ...
- linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)
程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ...
- GetAdaptersInfo获取网卡配置和Ip地址信息
一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址:如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种:因此,如果要获得本机所有网卡的IP和M ...
- Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件
由于公司现阶段大多数应用软件都是基于Windows系统开发和部署,很多软件安装部署都是在windows server 2012.windows server 2008之类的服务器上,部门同事每次测试一 ...
随机推荐
- MySQL数据库引擎MyISAM与InnoDB的区别
1. 存储结构 MyISAM:每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩展名为.MYD (MYData).索引文件 ...
- CentOS 转义字符
常用转义字符 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串. 单引号(''):转义其中所有的变量为单纯的字符串. 双引号(""):保留其中的变量属性,不进行转义处理. 反引 ...
- [bzoj] 2002 弹飞绵羊 || LCT
原题 简单的LCT练习题. 我们发现对于一个位置x,他只能跳到位置x+k,也就是唯一的父亲去.加入我们将弹飞的绵羊定义为跳到了n+1,那么这就形成了一棵树.而因为要修改k,所以这颗树是动态连边的,那么 ...
- Linux实验三
主要参考课本第二章所学习内容 (信息的表示和处理) 所有重点内容: 信息存储 整数表示/运算 浮点数 一 十六进制表示 0~9 A~F 0000~1111 注:(主要参考课本P22) 字 字长: ...
- HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)
HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化) 题意分析 首先C表示测试数据的组数,然后给出经费的金额和大米的种类.接着是每袋大米的 ...
- SpringAOP简介
AOP(Aspect Orient Programming) --- 面向切面编程 将分散在各个业务逻辑中的相同代码 通过 “横向”切割方式抽取到独立模块中 方式抽取到独立模块中;[它针对的是程序运行 ...
- 【数位DP】【SCOI2009】windy数
传送门 Description \(windy\)定义了一种\(windy\)数.不含前导零且相邻两个数字之差至少为\(2\)的正整数被称为\(windy\)数.\(windy\)想知道, 在\(A\ ...
- layui中对表格操作按钮集的判断
可用如下语法: {{# if(d.IsAudit==false){ }} <a class='layui-btn layui-btn-xs layui-btn-normal' lay-event ...
- bzoj 2654 tree 二分+kruskal
tree Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 2739 Solved: 1126[Submit][Status][Discuss] Des ...
- C#学习之泛型
//主函数//主函数里面调用的类都在后面有具体描述 using System; using System.Collections.Generic; using System.Linq; using S ...