I'm trying to create unimplemented Bluetooth layers from scapy, but after trying several times I've got no result. All I have done, according to scapy documentation, is child class from Packet
, and binding the new layer class to the upper one... Is it needed some other modification to make it work?
PS: I know it's not working because several packages are listed with wireshark
and btmon
but in scappy packet.show()
does not appear
Edit:
The layer opcode i'm trying to implement is 0x33 < User Confirmation Request>. the bind layer is this:
bind_layers(HCI_Event_Hdr, HCI_Event_User_Confirmation_Request, code=0x33)
And the packet class is this:
name = "User Confirmation Request"
fields_desc = [LEMACField("address", None), IntField("number", 0)]
def answers(self, other):
if HCI_Command_Hdr not in other:
return False
return other[HCI_Command_Hdr].opcode == self.opcode
This layer is build by a BD_Address and a numeric value (4 octects/Bytes)
question from:
https://stackoverflow.com/questions/65540913/how-to-create-a-layer-for-scapy 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…