如图所示有多个网卡

本地网卡配置了多个IP

class Public_IPOp:
@staticmethod
def GetLocalIP():
rt = [False]
# 根节点
reg_root = win32con.HKEY_LOCAL_MACHINE
# 网卡设备键的路径
reg_path = r"SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}"
# 权限和参数设置
reg_flags = win32con.WRITE_OWNER | win32con.KEY_WOW64_64KEY | win32con.KEY_ALL_ACCESS
# 网卡IP信息地址
IP_Path = r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
try:
key = win32api.RegOpenKeyEx(reg_root, reg_path, 0, reg_flags)
for item in win32api.RegEnumKeyEx(key):
# 先判断是否是PCI设备
try:
subPath = reg_path + '\\' + item[0]
subkey = win32api.RegOpenKey(reg_root, subPath, 0, reg_flags)
except:
pass
# rt.clear()
# rt.append(False)
# rt.append(subPath+'拒绝访问')
try:
if 0 == win32api.RegQueryValueEx(subkey, 'DeviceInstanceID')[0].find('PCI'):
# 判断是否是ethernet
LowerRangePath = reg_path + '\\' + item[0] + '\\Ndi\\Interfaces'
LowerRangekey = win32api.RegOpenKey(reg_root, LowerRangePath, 0, reg_flags)
if 'ethernet' == win32api.RegQueryValueEx(LowerRangekey, 'LowerRange')[0]:
ip_path = IP_Path + '\\' + win32api.RegQueryValueEx(subkey, 'NetCfgInstanceId')[0]
# print(ip_path)
IpKey = win32api.RegOpenKey(reg_root, ip_path, 0, reg_flags)
if len(win32api.RegQueryValueEx(IpKey, 'IPAddress')) > 0:
if len(win32api.RegQueryValueEx(IpKey, 'IPAddress')[0]) > 0:
# print(win32api.RegQueryValueEx(IpKey, 'IPAddress')[0][0])
rt.clear()
rt.append(True)
rt.append(win32api.RegQueryValueEx(IpKey, 'IPAddress')[0][0]) except:
pass
# rt.clear()
# rt.append(False)
# rt.append(item[0]+'系统找不到DeviceInstanceID')
# 关闭键
win32api.RegCloseKey(key)
except Exception as e:
rt.clear()
rt.append(False)
rt.append("注册表拒绝访问,请检查路径%s是否存在或以管理员身份运行" % (reg_path)) return rt

在有多个网卡,配置了多个IP的情况下,python 获取本地网卡的主IP的更多相关文章

  1. ioctl()获取本地网卡设备信息

    获得eth0接口所有信息: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #inclu ...

  2. VC获取物理网卡的MAC地址

    获取网卡的MAC地址的方法很多,如:Netbios,SNMP,GetAdaptersInfo等.经过测试发现 Netbios 方法在网线拔出的情况下获取不到MAC,而 SNMP 方法有时会获取多个重复 ...

  3. 烂泥:VMWare Workation双网卡配置IP地址

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...

  4. Linux网卡配置及学习linux的注意事项

    一.网卡配置 1.ifconfig网卡信息,配置IP ifconfig eth0 192.168.2.102 2.修改网卡配置(连接不了可能是IP给占用了) 进入编辑界面命令:vi /etc/sysc ...

  5. centos网卡配置和防火墙停止和启动

    Linux 设置网卡配置ip vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static ...

  6. 【转】Ubuntu网卡配置

    一.网卡地址配置Ubuntu的网络配置文件是:/etc/network/interfaces1.以DHCP 方式配置网卡   auto eth0   iface eth0 inet dhcp用sudo ...

  7. Ubuntu 为网卡配置静态IP地址

    为网卡配置静态IP地址编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primar ...

  8. 给网卡配置10个临时ip地址,但是不配置192.168.17.15这个ip

    给网卡配置10个临时ip地址,但是不配置192.168.17.15这个ip #!/bin/bash `;do ];then continue fi ifconfig eth0:$i .$i netma ...

  9. linux学习之centos(三):网卡配置

    Linux系统版本:Centos 6.5 在linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用中,使用远程工具SecureCRT,通过“ifconfig eth0 + ...

随机推荐

  1. hdfs、yarn集成kerberos

    1.kdc创建principal 1.1.创建认证用户 登陆到kdc服务器,使用root或者可以使用root权限的普通用户操作: # kadmin.local -q “addprinc -randke ...

  2. Verticles for Web Application

    Core Concept: HTTP-Centered EventBus Event, EventLoop, Executor, Handler, HTTPContext, Callback on E ...

  3. 第07组 Beta冲刺(4/5)

    队名:摇光 队长:杨明哲 组长博客:求戳 作业博客:求再戳 队长:杨明哲 过去两天完成了哪些任务 文字/口头描述:已经完成代码编辑器,暂时没有其他任务 展示GitHub当日代码/文档签入记录:(组内共 ...

  4. ActionFilter、IAuthorizationFilter 权限验证重定向跳转到其它页面

    方法一: public class IsAllowAttribute: ActionFilterAttribute { public override void OnActionExecuting(A ...

  5. CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)

    转载:https://blog.csdn.net/wdw984/article/details/85275289 1.首先要让我们自己的CefClient这个类公有继承CefRequestHandle ...

  6. gdb命名记录

    gdb常用命令 显示类 info locals 显示当前局部变量 info args 显示当前函数的参数 info sharedlibrary 显示当前程序依赖的动态库 ptype val 打印变量类 ...

  7. Python中解决递归限制的问题

    在做某些算法时,使用递归会出现类似下面的报错: RuntimeError: maximum recursion depth exceeded python默认的递归深度是很有限的,大概是900多的样子 ...

  8. [LeetCode] 316. Remove Duplicate Letters 移除重复字母

    Given a string which contains only lowercase letters, remove duplicate letters so that every letter ...

  9. H5混合开发中android终端和ios终端常见的兼容问题1

    转自 https://blog.csdn.net/xuehu837769474/article/details/80603898 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上 ...

  10. namespace Measure

    namespace Measure { public delegate void DelegateTrigger(); public class HMeasureSYS : System.IDispo ...