前言:

这里获取的是网卡的设备名称然后通过设备名称判断网卡类型,如无线网卡、有线网卡、虚拟网卡,其他网卡(如vpn客户端软件);使用如下代码打包后的程序可运行于win7、win10、win11系统;Python版本为3.8.9;因为工作中临时用到,就随手写的,所以代码规范没有太注意,看不懂的可以打断点分析,不过相信大家都能看的,确实非常简单,需要其他信息的在此基础上自行修改就行。

源码:

# -*- coding: utf-8 -*-

'''
需要的数据:
Wmic Path Win32_NetworkAdapterConfiguration get IPAddress,Index
Wmic Path Win32_NetworkAdapter get productname,Index
以上是获取当前活动网卡及网卡信息的两条命令!可用cmd或Powershell运行。
'''    

import subprocess
import re
import os
# ret, val = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapter get GUID,MACAddress,NetEnabled,productname,Index")
ret, val = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapterConfiguration get Index")
# print(ret)
#print(val)
list1=val.split("\n\n")  # 每个一行中间相隔2个换行!
list1.pop()  # 去除最后一个无用的元素
#print(list1)

ret1, val1 = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapterConfiguration get IPAddress")
# print(ret)
#print(val1)
list2=val1.split("\n\n")  # 每个一行中间相隔2个换行!
list2.pop()  # 去除最后一个无用的元素
#print(list2)

ret2, val2 = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapter get index")
# print(ret)
#print(val1)
list3=val2.split("\n\n")  # 每个一行中间相隔2个换行!
list3.pop()  # 去除最后一个无用的元素
#print(list3)

ret3, val3 = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapter get productname")
# print(ret)
#print(val1)
list4=val3.split("\n\n")  # 每个一行中间相隔2个换行!
list4.pop()  # 去除最后一个无用的元素
#print(list4)

ret4, val4 = subprocess.getstatusoutput(r"Wmic Path Win32_NetworkAdapter get NetEnabled")
# print(ret)
#print(val1)
list5=val4.split("\n\n")  # 每个一行中间相隔2个换行!
list5.pop()  # 去除最后一个无用的元素
#print(list5)

n=0
print("############ 当前活动网卡 #############")
for a,b in enumerate(list5):
    
    c=list5[a]
    d=c.split(" ")
    e=d[0]
    # print(len(e))    
    if e=="TRUE":
        #print("成立")
        #print(n)
        #print("ip:{}\nproductname:{}\n".format(list2[n],list4[n]))
        f=list2[n]
        g=list4[n]
        #print(f,g)
        list6=[]
        for i in f:
             list6.append(i)
        m=2
        list7=[]
        for p in list6:
             if m<15:
                  list7.append(list6[m])
             m=m+1
        ip="".join(list7)
        print("IPAddess:{}\nProductname:{}\n".format(ip,g))
    #else:
        #print("不成立")
    n=n+1
os.system("pause") # 暂停窗口关闭

运行结果:

win10

win7 

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐