def testGenerateEthernetPacket2(self): context = {} ethernetPacket = EthernetPacket(context) context.update ({'src_mac' : '00:0F:FE:91:FE:D1', 'dst_mac' : '00:50:43:00:00:01', 'ether_type' : '0x9201', 'tag' : '', 'payload' : "\x55" * 7 + "\xD5" + \ "\xE0\x01" + \ "\x00\x03\x19\x00\x03\xDE" + \ "\xFF" * 6 + \ "\x08\x06" + \ "\x80" * 2 + \ "\xB2\x47\x42\x3A" + \ "\x53\xB9\x6F\x64"}) expectedPacket = "\x00\x50\x43\x00\x00\x01" + \ "\x00\x0f\xFE\x91\xFE\xD1" + \ "\x92\x01" + \ "\x55" * 7 + "\xD5" + \ "\xE0\x01" + \ "\x00\x03\x19\x00\x03\xDE" + \ "\xFF" * 6 + \ "\x08\x06" + \ "\x80" * 2 + \ "\xB2\x47\x42\x3A" + \ "\x53\xB9\x6F\x64" + \ "\x6B\x24\x47\xEC" self.assertEquals(expectedPacket, ethernetPacket.generatePacket())
def testGenerateEthernetPacket1(self): context = {} packet_ethernet = EthernetPacket(context) context.update ({'src_mac' : 'FF:FF:FF:FF:FF:FF', 'dst_mac' : '00:03:19:00:03:DE', 'ether_type' : '0x0806', 'tag' : '', 'payload' : "\x80" * 2}) expectedPacket = "\x00\x03\x19\x00\x03\xDE" + \ "\xFF\xFF\xFF\xFF\xFF\xFF" + \ "\x08\x06" + \ "\x80\x80" + \ "\xB2\x47\x42\x3A"; self.assertEquals(expectedPacket, packet_ethernet.generatePacket())
def __init__(self, context): self.__localContext = {} self.__etherPacket = EthernetPacket(self.__localContext) self.__defaults = {'src_mac' : '01:02:03:04:05:06', 'dst_mac' : 'ff:ff:ff:ff:ff:ff'} context.update(self.__defaults) self.__context = context
class MagicPacket(AbstractPacket): def __init__(self, context): self.__localContext = {} self.__etherPacket = EthernetPacket(self.__localContext) self.__defaults = {'src_mac' : '01:02:03:04:05:06', 'dst_mac' : 'ff:ff:ff:ff:ff:ff'} context.update(self.__defaults) self.__context = context def getShortDescription(self): return "" def getOptions(self): return "" def __generateMAC(self, strValue): listOctets = strValue.split(':'); resultMAC = "" for octet in listOctets: resultMAC += (chr(int( octet, 16))) return resultMAC def __generateDestMAC(self): return self.__generateMAC(self.__context['dst_mac']) def getFullDescription(self): return "" def getDefaults(self): return "" def setOption( self, key, value ): pass def __generatePayload(self): return "\xff" * 6 + self.__generateDestMAC() * 16 def generatePacket(self): self.__localContext['payload'] = self.__generatePayload() self.__localContext['ether_type'] = '0x842' self.__localContext.update(self.__context) return self.__etherPacket.generatePacket()[0:-4]