# 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

最新文章

  1. js窗口边缘滑入滑出效果-初级代码
  2. IPTV视频基本概念
  3. 第四篇 在中国做ERP系统实施你必须知道的一些常识
  4. 【BZOJ】【2561】最小生成树
  5. JDBC之初识
  6. fork 函数的一点学习
  7. css优先级计算规则
  8. 4位开锁<dfs>
  9. jQuery手机触屏拖动滑块验证跳转插件
  10. BZOJ4668: 冷战 [并查集 按秩合并]
  11. Eclipse+Android开发:Android模拟器快捷键
  12. 奇怪的跨域访问:No 'Access-Control-Allow-Origin' header
  13. centos7通过yum安装JDK1.8
  14. Python学习的路上,Anaconda送你一双遮天神翼
  15. Spring配置跨域请求
  16. python中转义符&str格式化
  17. NameNode重新格式化以后DataNode不能启动
  18. [UE4]C++静态局部变量
  19. Oracle创建Rman备份专用账户
  20. 阿里云服务器ECS上ubuntu安装nginx后默认站点页面打开错误,显示无法访问此网站

热门文章

  1. C# 跨服务大文件复制
  2. [Leetcode] pascals triangle ii 帕斯卡三角
  3. BZOJ3172 [Tjoi2013]单词 【AC自动机】
  4. 从零开始学Linux系统(四)之Vi/Vim操作指令
  5. ArrayList动态扩容机制
  6. Leetcode 295. 数据流的中位数
  7. Centos6.5+Python2.7 +ffmpeg+opencv2自动安装脚本
  8. SoC时钟系统简介
  9. 前端多层回调问题解决方案之$.Deferred
  10. 南阳ACM 题目517:最小公倍数 Java版