申请会员ID:Panda_Wu
1、申 请 I D :Panda_Wu2、个人邮箱:harmonica39@126.com
3、原创技术文章
获取mac和ip的小工具获取mac和ip的方式有不少。第一种,用uuid模块获取mac的,可能是玄学原因,我获取到的mac地址和直接敲ipconfig /all的不一样,该方案pass。第二种,用wmi模块获取的,但我想同时获取网卡mac对应的ip,技术难度略高,该方案pass。第三种,用netifaces模块,工具很强大,学习成本高,pass。第四种,直接调用系统命令ipconfig,用字符串筛选,感觉不对,pass。第五种,简单易行的psutil模块,运维使用,正合我意。贴个主要代码:def get_net_addr():
macdict= dict()
dic = psutil.net_if_addrs()
for adapter in dic:
sniclist = dic
iplist=[]
for snic in sniclist: if '-' in snic.address and len(snic.address)==17:
mac = snic.address
if '.' in snic.address:
iplist.append(snic.address)
macdict = mac,iplist
return macdict写个GUI直接上pysimplegui,迅速写好GUI。#GUI的布局
layout = [
,
,
,
,
,
,
]
#设置图标,图标是从阿里巴巴图标库下载的,随便找个在线网站转换成ico
sg.set_global_icon('panda.ico')
#设置标题创建窗口
window = sg.Window('获取主机mac和ip工具',layout)
#进入循环监听事件
while True:
event,value = window.Read()
if event == 'submit':
#获取mac和ip
information = get_net_addr()
#为了好看,写了格式化输出函数处理mac和ip信息
output = format_information(information)
#顺便获取主机名
hostname = get_hostname()
#显示信息
window.Element('num').Update(value['classnum'])
window.Element('hostname').Update(hostname)
window.Element('information').print(output)
#写入文件的小功能 write_to_file(num=value['classnum'],hostname=hostname,information=information)
elif event == 'q' or event == sg.WIN_CLOSED:
break
window.Close()大功告成用pyinstaller -F -w XXXX.py一键打包成exehttps://s1.ax1x.com/2023/03/24/ppB02qI.png使用场景和功能用于登记位于不同位置的windows设备的ip和mac,例如学校里的不同班级的一体机、办公室电脑等。多个网卡,多个ip都能收集到,直接在后台生成md文件。 抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页:
[1]