Skip to content

struct error for large Dot11 packet: struct.error: ubyte format requires 0 <= number <= 255 #977

@puru1761

Description

@puru1761

I have written a python program to transmit data of approximately 950 bytes in the RSNinfo field of a scapy Dot11 type 2 packet (data). It is also a beacon. I am doing this for experimental purposes, sorry. When i try to send it through sendp, I get the following traceback:

Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/root/Desktop/ADSB-Dot11/ADSB/ADSB_lib.py", line 82, in run
self.startBroadcast(self.interface, "ADSB", json.dumps(adsb_message))
File "/root/Desktop/ADSB-Dot11/ADSB/ADSB_lib.py", line 112, in startBroadcast
sendp(frame, iface=interface, inter=0.10, loop=0, verbose=False)
File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", line 263, in sendp
__gen_send(conf.L2socket(iface=iface, *args, **kargs), x, inter=inter, loop=loop, count=count, verbose=verbose, realtime=realtime)
File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", line 238, in __gen_send
s.send(p)
File "/usr/local/lib/python3.6/dist-packages/scapy/supersocket.py", line 31, in send
sx = bytes(x)
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 291, in bytes
return self.build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 359, in build
p = self.do_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 351, in do_build
pay = self.do_build_payload()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 343, in do_build_payload
return self.payload.do_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 351, in do_build
pay = self.do_build_payload()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 343, in do_build_payload
return self.payload.do_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 351, in do_build
pay = self.do_build_payload()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 343, in do_build_payload
return self.payload.do_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 351, in do_build
pay = self.do_build_payload()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 343, in do_build_payload
return self.payload.do_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 348, in do_build
pkt = self.self_build()
File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 339, in self_build
p = f.addfield(self, p, val)
File "/usr/local/lib/python3.6/dist-packages/scapy/fields.py", line 79, in addfield
return s+struct.pack(self.fmt, self.i2m(pkt,val))
struct.error: ubyte format requires 0 <= number <= 255

I really need to be able to do this for a project. Any help would be greatly appreciated.

Regards,
Puru

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions