示例#1
0
 def build_ap_info_pkt(self, layer_cls, dest):
     """Build a packet with info describing the current AP
     For beacon / proberesp use
     """
     return RadioTap() \
         / Dot11(addr1=dest, addr2=self.mac, addr3=self.mac) \
         / layer_cls(timestamp=0, beacon_interval=100,
                     cap='ESS+privacy') \
         / Dot11Elt(ID="SSID", info=self.ssid) \
         / Dot11EltRates(rates=[130, 132, 139, 150, 12, 18, 24, 36]) \
         / Dot11Elt(ID="DSset", info=chb(self.channel)) \
         / Dot11EltRSN(group_cipher_suite=RSNCipherSuite(cipher=0x2),
                       pairwise_cipher_suites=[RSNCipherSuite(cipher=0x2)],
                       akm_suites=[AKMSuite(suite=0x2)])
示例#2
0
    def send_assoc_response(self, pkt):

        # Get RSN info
        temp_pkt = pkt[Dot11Elt::{"ID": 48}].copy()
        temp_pkt.remove_payload()
        self.RSN = raw(temp_pkt)
        # Avoid 802.11w, etc. (deactivate RSN capabilities)
        self.RSN = self.RSN[:-2] + "\x00\x00"

        rep = RadioTap()
        rep /= Dot11(addr1=self.client, addr2=self.mac, addr3=self.mac)
        rep /= Dot11AssoResp()
        rep /= Dot11EltRates(rates=[130, 132, 139, 150, 12, 18, 24, 36])

        self.send(rep)