- sequence = struct.unpack("BB",payload[pointer:pointer+2])
- pointer += 2
- pcktlen -= 2
-
-# print fields
-# print values
-# print "Radiotap flags : %s" % " ".join(flags)
-# print "Channel %d (%s)" % ( values[3] , " ".join(channel) )
-## print "Control info",frame_ctl,frame_subtype,duration_id,"seq",sequence
-# print type,":",maclist,"->",pcktlen
-# print
-
- global tstamp,max_time,discovered
- for mac in maclist :
- if not mac in discovered :
- tstamp = time.time()
- discovered.append( mac )
- if time.time()-tstamp > max_time :
- fd = open( "discovered.list" , "a" )
- for mac in discovered :
- fd.write( "%s\n" % mac )
- fd.close()
- raise Exception( "Neighborhoud scan completed" )
-
- print "%4s %13s %6s %4d %4d from %4d" % (type,subtype,direction,values[3],pcktlen,len(payload))," ; %4d %4d "%sequence,":"+" %s"*len(maclist) % tuple(maclist)
+
+ if frame_type != "CTL" :
+ sequence = struct.unpack("BB",payload[pointer:pointer+2])
+ pointer += 2
+ pcktlen -= 2
+ else :
+ sequence = ( -1 , -1 )
+
+
+ if frame_type == "DATA" :
+ maclist.append( mac_fmt % struct.unpack( mac_str , payload[pointer:pointer+6] ) )
+ pointer += 6
+ pcktlen -= 6
+
+
+ logfile.write( "%4s %13s %6s %4d [ %2d %2d ] read %4d missing %4d" % (frame_type,frame_subtype,direction,radio_hdr['CHANNEL'],radio_hdr['FLAGS'],radio_hdr['CHANNEL_BITMAP'],pointer,pcktlen) )
+ logfile.write( " = %s %s " % ( radio_hdr['DBM_ANTSIGNAL'] , radio_hdr['DBM_ANTNOISE'] ) )
+ logfile.write( " ; %4d %4d " % sequence )
+ logfile.write( " - %4d :" % duration_id )
+ logfile.write( " %s"*len(maclist) % tuple(maclist) )
+ logfile.write( "\n" )
+
+ curtime = time.time()
+ if curtime - tstamp > max_time :
+ raise CaptureEnd( "Neighborhoud scan completed" )
+