前言:
这里获取的是网卡的设备名称然后通过设备名称判断网卡类型,如无线网卡、有线网卡、虚拟网卡,其他网卡(如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