吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1725|回复: 1
收起左侧

[会员申请] 申请会员ID:Panda_Wu

[复制链接]
吾爱游客  发表于 2023-3-24 20:59
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[adapter]
      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[adapter] = mac,iplist
​
  return macdict写个GUI直接上pysimplegui,迅速写好GUI。#GUI的布局
layout = [
        [sg.Text('输入位置')],
        [sg.Input(key='classnum')],
        [sg.Text('点击开始获取mac地址和ip地址')],
        [sg.Button('开始',key='submit'),sg.Quit('退出',key='q')],
        [sg.Text('主机所在位置:',size=(6,1)),sg.Text('',key='num',size=(10,1))],
        [sg.Text('主机名:',size=(6,1)),sg.Text('',key='hostname',size=(10,1))],
        [sg.Multiline('',key='information',size=(50,20),autoscroll=True)]
        ]
​
#设置图标,图标是从阿里巴巴图标库下载的,随便找个在线网站转换成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一键打包成exe使用场景和功能用于登记位于不同位置的windows设备的ip和mac,例如学校里的不同班级的一体机、办公室电脑等。多个网卡,多个ip都能收集到,直接在后台生成md文件。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2023-3-27 17:08
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-27 06:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表