def cb(pkt):
 global clients_APs, APs, args, sniff_daemon_running
 if sniff_daemon_running:
  "\n        We're adding the AP and channel to the deauth list at time of creation\n        rather than updating on the fly in order to avoid costly for loops\n        that require a lock.\n        "
  if pkt.haslayer(Dot11):
   if (pkt.addr1 and pkt.addr2):
    if args.accesspoint:
     if (args.accesspoint not in [pkt.addr1, pkt.addr2]):
      return
    if (pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp)):
     APs_add(clients_APs, APs, pkt, args.channel)
    if noise_filter(args.skip, pkt.addr1, pkt.addr2):
     return
    if (pkt.type in [1, 2]):
     clients_APs_add(clients_APs, pkt.addr1, pkt.addr2)

def cb ( pkt ) : global clients_APs , APs , args , sniff_daemon_running if sniff_daemon_running : if pkt . haslayer ( Dot11 ) : if ( pkt . addr1 and pkt . addr2 ) : if args . accesspoint : if ( args . accesspoint not in [ pkt . addr1 , pkt . addr2 ] ) : return if ( pkt . haslayer ( Dot11Beacon ) or pkt . haslayer ( Dot11ProbeResp ) ) : APs_add ( clients_APs , APs , pkt , args . channel ) if noise_filter ( args . skip , pkt . addr1 , pkt . addr2 ) : return if ( pkt . type in [ 1 , 2 ] ) : clients_APs_add ( clients_APs , pkt . addr1 , pkt . addr2 )
look for dot11 packets that arent to or from broadcast address .