发布时间:2019-08-27 07:59:12编辑:auto阅读(1928)
【目的】
以配置文件中的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
上一篇: python 更新svn 并 ftp更新
下一篇: python升级
48892
47968
38745
35881
30306
27074
26087
20922
20737
19096
567°
643°
646°
649°
624°
598°
673°
743°
865°
1007°