+ if radio_hdr['CHANNEL_BITMAP'] != 160 and radio_hdr['CHANNEL_BITMAP'] != 192 :
+ # 160 - CCK , 2GHZ
+ # 192 - OFDM , 2GHZ
+ print 'WARNING : Unexpected channel flags : (%s) %s' % ( radio_hdr['CHANNEL_BITMAP'] , " , ".join( channel ) )
+ radio_hdr['_channel_bitmap'] = channel
+
+ return radio_hdr
+
+
+def dealWithPacket ( hdr , data ) :
+
+ if hdr.getlen() != hdr.getcaplen() :
+ print "Error in header : %d vs. %d" % ( hdr.getlen() , hdr.getcaplen() )
+ return
+ if len(data) != hdr.getlen() :
+ print "Data lenght does not match"
+ return
+
+ it_version , it_len , it_present = struct.unpack("<Bxhl",data[:8])
+ if it_version != 0 :
+ print "Bad version (%s), it is probably not radiotap header" % it_version
+ return
+ if it_len <= 0 :
+ print "Bad length on radiotap header"
+ return
+
+ radio_hdr = parse_radiotap( data[8:it_len] , it_present )
+ if not radio_hdr :
+ return
+
+ payload = data[it_len:]
+