python 虚拟mac地址,python语言实现mac地址自加

【目的】

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

【实现步骤】第一步:将删除‘:’的影响,字符串转换成字节流;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

第二步:将字节流表示的串进行自加,返回值为字节流可直接添加到模拟报文中对应位置。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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值