code: def parse_TKIP_hdr(pkt):
      
      # Note: FCS bit is not handled
      assert pkt.FCfield.protected
  
      # 802.11i - 8.3.2.2
      tkip_layer = pkt[Dot11TKIP]
      payload = tkip_layer.data
  
      # IV
      if not tkip_layer.ext_iv:
          # 802.11i p. 46
          raise ValueError("Extended IV must be set for TKIP")
      TSC0 = tkip_layer.TSC0
      TSC1 = tkip_layer.TSC1
      WEPseed = tkip_layer.WEPSeed
  
      # Extended IV
      TSC2 = tkip_layer.TSC2
      TSC3 = tkip_layer.TSC3
      TSC4 = tkip_layer.TSC4
      TSC5 = tkip_layer.TSC5
  
      # 802.11i p. 46
      assert (TSC1 | 0x20) & 0x7f == WEPseed
  
      TA = [orb(e) for e in mac2str(pkt.addr2)]
      TSC = [TSC0, TSC1, TSC2, TSC3, TSC4, TSC5]
  
      return TSC, TA, payload
docs: Extract TSCs, TA and encoded-data from a packet @pkt