前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python语言实现mac地址自加

python语言实现mac地址自加

作者头像
py3study
发布2020-01-09 16:08:52
1.2K0
发布2020-01-09 16:08:52
举报
文章被收录于专栏:python3python3

【目的】

   以配置文件中的mac地址为起始地址(形式为xx:xx:xx:xx:xx:xx),并根据步长设置实现mac自加,然后以该mac为源mac模拟报文。

实现步骤

  • 第一步:将删除‘:’的影响,字符串转换成字节流;
代码语言:javascript
复制
import struct
def macs2a(mac):
    dict = {'0':0, '1':1, '2':2, '3':3, '4':4,\
            '5':5, '6':6, '7':7, '8':8, '9':9,\
            'a':10, 'b':11, 'c':12, 'd':13, 'e':14, 'f':15}
    mac = mac.lower()
    tmp = mac.split(':')
    res = ''
    for i in range(len(tmp)):
        uc = struct.pack('B', 16*dict[tmp[i][0]] + dict[tmp[i][1]])
        res = res + uc
    return res
  • 第二步:将字节流表示的串进行自加,返回值为字节流可直接添加到模拟报文中对应位置。
代码语言:javascript
复制
import struct
def macAdd(mac, step = 1):
    mac1,mac2 = struct.unpack("!HI", mac)
    mac2 = mac2 + step
    return struct.pack("!HI", a1, a2)
def macSelfAdd(mac, num = 0, step = 1):
    macTmp = macs2a(mac)
    for i in range(num):
        macTmp = macAdd(macTmp, 1)
    return macTmp
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档