发表于 2023-3-24 20:59

申请会员ID:Panda_Wu

1、申 请 I D :Panda_Wu
2、个人邮箱: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文件。

Hmily 发表于 2023-3-27 17:08

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:Panda_Wu