root/branch/BTSniff/examples/eg1hcidump.py @ 5130

Revision 5130, 1.6 kB (checked in by qsy, 4 years ago)

Added module for cracks. Contains function that does legwork for computation of pin. Added SniffSession? class as structure for sniffing details. Added handlers module where sample handlers reside -- specifically the FrontlineHandler? which duplicates functionality in original Frontline. Added 2nd example for illustration of pin-cracking. Added PinCrackData? structure for intermediate storage of pairing LMP data. PinCrackRunner? thread subclass for pin-cracking asynchronous to sniffing. Added script for setting up of examples

Line 
1import umit.bluetooth.sniff_fileio as sfio
2import umit.bluetooth.sniff as sniff
3import umit.bluetooth.sniffer as sniffer
4import umit.bluetooth.handlers as handlers
5
6class HCIDumpHandler(sniff.SniffHandler):
7   
8    def __init__(self, state, write_file, writer = None):
9        super(sniff.SniffHandler, self).__init__()
10        if not writer:
11            writer = sfio.HCIWriter()
12        self._writer = writer
13        self._lmpbasehandler = handlers.BTSniffHandler()
14        if state and write_file:
15            self._state = state
16            self._write_file = write_file
17        else:
18            raise sniff.SniffError("HCIDumpHandler: State or write_filename not given. state is %s, write_file is %s" 
19                                   % (state, write_file))
20    def _writetofile(self, type, packet):
21        self._writer.writetofile(type, self._state.llid,
22                                 self._state.master, packet, self._write_file)
23   
24    def recvgenevt(self, packet):
25        self._lmpbasehandler.recvgenevt(packet)
26   
27    def recvlmp(self, packet):
28        self._lmpbasehandler.recvlmp(packet)
29        self._writetofile(sniff.HCI_EVENT_PKT, packet)
30   
31    def recvdv(self, packet):
32        pass
33   
34    def recvl2cap(self, packet):
35        self._writetofile(sniff.HCI_ACLDATA_PKT, packet)
36
37
38if __name__=='__main__':
39#    sniffer.run(handler = HCIDumpHandler(state = start_state, write_file = 'eg1hcidump.cap'),
40#                state = start_state)
41    hcihandler = handlers.BTSniffHandler()
42    start_state = sniff.State()
43    #hcihandler = HCIDumpHandler(start_state, "eg1.cap")
44    sniffer.run(handler = hcihandler, state = start_state)
Note: See TracBrowser for help on using the browser.