如图所示有多个网卡

本地网卡配置了多个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. D3.js的v5版本入门教程(第十章)

    在这一章我们干点有趣的事——让我们上一章绘制的图表动起来,这样岂不是很有意思 为了让图表动起来,我们还是需要以下新的知识点 .attr(xxx) .transition() .attr(xxx),tr ...

  2. ICEM-缺口圆柱

    原视频下载地址:https://pan.baidu.com/s/1bpahxd9 密码: bpp7

  3. 刷题记录:Shrine

    目录 刷题记录:Shrine 刷题记录:Shrine 题目复现链接:https://buuoj.cn/challenges 参考链接:Shrine 解此题总结一下flask的SSTI:CTF SSTI ...

  4. Nginx系列 | [转]Nginx 上传文件:client_max_body_size 、client_body_buffer_size

    原文:http://php-note.com/article/detail/488 client_max_body_size client_max_body_size 默认 1M,表示 客户端请求服务 ...

  5. Android - Button(按钮)的响应点击事件的4种写法

    Button控件setOnclickListener(View.OnClickListener listener)来接收一个点击事件的监听器 自定义一个点击事件监听器类让其实现View.OnClick ...

  6. how-does-mysql-replication-really-work/ what-causes-replication-lag

    https://www.cnblogs.com/kevingrace/p/6274073.html https://www.cnblogs.com/kevingrace/p/6261091.html ...

  7. Win 10 MSYS2 VS Code 配置 c++ 的编译环境

    博客参考 https://www.cnblogs.com/esllovesn/p/10012653.html 和 https://blog.csdn.net/bat67/article/details ...

  8. C#程序打包安装部署之添加注册表项(转)

    今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...

  9. php 类的属性--???

    <?php class Car { private function __construct() { echo 'object create'; } private static $_objec ...

  10. Bcrypt.check_pass/3 用法

    defmodule My do defstruct password: "", apassword_hash: "", aencrypted_password: ...