Beispiel #1
0
 def ReadBdAddrCompleteCapture():
     return Capture(lambda packet: b'\x0e\x0a\x01\x09\x10' in packet.event,
       lambda packet: hci_packets.ReadBdAddrCompleteView(
                   hci_packets.CommandCompleteView(
                             hci_packets.EventPacketView(
                                 bt_packets.PacketViewLittleEndian(
                                     list(packet.event))))))
Beispiel #2
0
 def extract_hci_event_with_code(packet_bytes, event_code=None):
     hci_event = hci_packets.EventPacketView(bt_packets.PacketViewLittleEndian(list(packet_bytes)))
     if hci_event is None:
         return None
     if event_code is not None and hci_event.GetEventCode() != event_code:
         return None
     return hci_event
Beispiel #3
0
 def ReadBdAddrCompleteCapture():
     return Capture(
         lambda packet: packet.payload[0:5] == b'\x0e\x0a\x01\x09\x10',
         lambda packet: hci_packets.ReadBdAddrCompleteView(
             hci_packets.CommandCompleteView(
                 hci_packets.EventPacketView(
                     bt_packets.PacketViewLittleEndian(list(packet.payload))
                 ))))
Beispiel #4
0
 def _extract_matching_event(packet_bytes, event_code):
     event = hci_packets.EventPacketView(
         bt_packets.PacketViewLittleEndian(list(packet_bytes)))
     if event is None:
         return None
     if event_code is not None and event.GetEventCode() != event_code:
         return None
     return event
Beispiel #5
0
 def LeConnectionCompleteCapture():
     return Capture(lambda packet: packet.event[0] == 0x3e
                    and (packet.event[2] == 0x01 or packet.event[2] == 0x0a),
         lambda packet: hci_packets.LeConnectionCompleteView(
             hci_packets.LeMetaEventView(
                             hci_packets.EventPacketView(
                                 bt_packets.PacketViewLittleEndian(
                                     list(packet.event))))))
 def get_connect_request(packet):
     if b'\x04\x0a' in packet.event:
         nonlocal connection_request
         connection_request = hci_packets.ConnectionRequestView(
             hci_packets.EventPacketView(
                 bt_packets.PacketViewLittleEndian(
                     list(packet.event))))
         return True
     return False
 def get_handle(packet_bytes):
     if b'\x03\x0b\x00' in packet_bytes:
         nonlocal conn_handle
         cc_view = hci_packets.ConnectionCompleteView(
             hci_packets.EventPacketView(
                 bt_packets.PacketViewLittleEndian(
                     list(packet_bytes))))
         conn_handle = cc_view.GetConnectionHandle()
         return True
     return False
Beispiel #8
0
 def get_handle(packet):
     packet_bytes = packet.event
     nonlocal handle
     if b'\x3e\x13\x01\x00' in packet_bytes:
         cc_view = hci_packets.LeConnectionCompleteView(
             hci_packets.LeMetaEventView(
                 hci_packets.EventPacketView(
                     bt_packets.PacketViewLittleEndian(
                         list(packet_bytes)))))
         handle = cc_view.GetConnectionHandle()
         return True
     if b'\x3e\x13\x0A\x00' in packet_bytes:
         cc_view = hci_packets.LeEnhancedConnectionCompleteView(
             hci_packets.LeMetaEventView(
                 hci_packets.EventPacketView(
                     bt_packets.PacketViewLittleEndian(
                         list(packet_bytes)))))
         handle = cc_view.GetConnectionHandle()
         return True
     return False
Beispiel #9
0
 def payload_handle(packet):
     packet_bytes = packet.payload
     if b'\x3e\x13\x01\x00' in packet_bytes:
         nonlocal conn_handle
         cc_view = hci_packets.LeConnectionCompleteView(
             hci_packets.LeMetaEventView(
                 hci_packets.EventPacketView(
                     bt_packets.PacketViewLittleEndian(
                         list(packet_bytes)))))
         conn_handle = cc_view.GetConnectionHandle()
         return True
     return False
Beispiel #10
0
 def get_address_from_complete(packet):
     packet_bytes = packet.event
     if b'\x0e\x0a\x01\x09\x10' in packet_bytes:
         nonlocal address
         addr_view = hci_packets.ReadBdAddrCompleteView(
             hci_packets.CommandCompleteView(
                 hci_packets.EventPacketView(
                     bt_packets.PacketViewLittleEndian(
                         list(packet_bytes)))))
         address = addr_view.GetBdAddr()
         return True
     return False
Beispiel #11
0
 def DisconnectionCompleteCapture():
     return Capture(
         lambda packet: packet.payload[0:2] == b'\x05\x04',
         lambda packet: hci_packets.DisconnectionCompleteView(
             hci_packets.EventPacketView(
                 bt_packets.PacketViewLittleEndian(list(packet.payload)))))
Beispiel #12
0
 def ConnectionCompleteCapture():
     return Capture(
         lambda packet: packet.payload[0:3] == b'\x03\x0b\x00',
         lambda packet: hci_packets.ConnectionCompleteView(
             hci_packets.EventPacketView(
                 bt_packets.PacketViewLittleEndian(list(packet.payload)))))
Beispiel #13
0
 def ConnectionRequestCapture():
     return Capture(
         lambda packet: packet.payload[0:2] == b'\x04\x0a',
         lambda packet: hci_packets.ConnectionRequestView(
             hci_packets.EventPacketView(
                 bt_packets.PacketViewLittleEndian(list(packet.payload)))))
Beispiel #14
0
 def ConnectionCompleteCapture():
     return Capture(lambda packet: b'\x03\x0b\x00' in packet.event,
       lambda packet: hci_packets.ConnectionCompleteView(
                             hci_packets.EventPacketView(
                                 bt_packets.PacketViewLittleEndian(
                                     list(packet.event)))))
Beispiel #15
0
 def ConnectionRequestCapture():
     return Capture(lambda packet: b'\x04\x0a' in packet.event,
       lambda packet: hci_packets.ConnectionRequestView(
                             hci_packets.EventPacketView(
                                 bt_packets.PacketViewLittleEndian(
                                     list(packet.event)))))