Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
284 views
in Technique[技术] by (71.8m points)

python - how to create a layer for scapy?

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...