Hello!
J'essaye depuis plusieurs jours de parfaire mon analyseur de paquets, mais je sèche avec un paquet nommé "NetworkDataContainerMessage". En effet le header de celui-ci me donne une taille énorme (8Mb+), ce qui n'a pas l'air de correspondre à la réalité, et fait que mon programme lit beaucoup trop de paquets comme si ils appartenaient au "NetworkDataContainerMessage".
Je suis relativement sur que mon code pour lire le header est correct:
def get_packet_size(data: bytes, send_type: str) -> (int, int, int, int):
header = bytes([data[0], data[1]])
id = ((header[0] << 8) | header[1]) >> 2
sizesize = header[1] & 0b11
if send_type == "received":
st = 2
else:
st = 6
size = 0
if sizesize == 0:
size = 0
elif sizesize == 1:
size = data[st]
elif sizesize == 2:
size = data[st] << 8 | data[st + 1]
elif sizesize == 3:
size = ((struct.unpack("!B", data[st:st + 1])[0] & 255) << 16) + (
(struct.unpack("!B", data[st + 1:st + 2])[0] & 255) << 8) + (
struct.unpack("!B", data[st + 2:st + 3])[0] & 255)
return sizesize, size, st, id
Une idée de ce qu'il se passe?
Voici pour reference les contenus du paquet en question:
b'\x00\x0b\x88?\x00\x0e\xcd\x7f\xe7\xbf\xffB\x00\x95\x07\x00\x01\x11\x01\x00\x10\x03\xda@\x00\x06\xdc:\x00\t\xcf\x7f\xe8\xbf\xffB\x0c\xcd\x7f\xe7\xbf\xffB\x0f\xe4\x91\x01\xe6\xbf\xffB\x01\xf8q\x00\x04\xc12\x00\x07\xd7@\x00\n\x88?\x00\r\xb6\x85\x01\xe3\xbf\xffB\x1c\xaau\x00\x02\xcf@\x00\x05\x93B\x00\x0b\xcc\x07\xe1\xbf\xffB\x0e\xe1\x05\xe0\xbf\xffB\x00\x95\x07\x00\x00\x15\x01\x00\x0f\x03\xba\x89\x01\x00\x06\xe77\x9f\xc1\xffB\t\xcf\x7f\xe8\xbf\xffB\x0c\xcd\x7f\xe7\xbf\xffB\x0f\xe4\x91\x01\xe6\xbf\xffB\x01\xf42\x00\x04\xcf@\x00\x07\xa2E\x00\n\xb6\x05\xe4\xbf\xffB\r\xb6\x85\x01\xe3\xbf\xffB\x02\xa5\x13\xe2\xbf\xffB\x05\xb9\x89\x01\x00\x0b\xcc\x07\xe1\xbf\xffB\x0e\xe1\x05\xe0\xbf\xffB\x00\xbd2\x00\x00\x04\x02\x0b\x00\x00\x04\t\x00\x06+-*E\t.\x03\x02\x00\x03! .\x00\x03\x00\x06+*\x0cE\t.U\xfd\x07\x06\x00\x01\xa5\x13\x00\x00a]\xde\x00\x00\x19\x01s\x03\x00\x00\x00\x00\x00\x00\x19\xe5\x01\xec\x1c\x02\x01s\x06\x00\x00\x00\x00\x00\x00%\xd6\x01s\t\x00\x00\x00\x00\x00\x00%\xda\x01s\x0c\x00\x00\x00\x00\x00\x00C+\x01s\x0f\x00\x00\x00\x00\x00\x00:\xaa\x01\xec\x12\x03\x01s\x15\x08_\xe0\x98\x00\x00/\x06\x01s\x02\x00\x00\x00\x00\x00\x00\x07\x1a\x01s\x05\x00\x00\x00\x00\x00\x00\x19t\x01s\x08\x00\x00\x00\x00\x00\x00%\xd8\x01r\x0b\x00\x01s\x0e\x00\x00\x00\x00\x00\x00:s\x01\xec\'\x00\x01\xec\x11\x02\x01s\x14\x08_\xe0C\x00\x00>v\x01s\x01\x00\x00\x00\x00\x00\x00\x1b4\x01s\x04\x00\x00\x00\x00\x00\x00\x19\x9a\x01\xec\x1d\x04\x01s\x07\x00\x00\x00\x00\x00\x00%\xd7\x01r\n\x01\x01s\r\x00\x00\x00\x00\x00\x00\x07(\x01s\x10\x00\x00\x00\x00\x00\x00:t\x01\xec\x13\x04\x01s\x00\x00\x00\x00\x00\x00\x00\x02$a]\xa2\x01\x00 \x01p\x19\xf1\x02\x01p\x03\xa6\x01\x01p\x06\xae\x01\x01p\x1f\xf5\x02\x01p\t\xa1\x01\x01p"\x9d\x03\x01p\x0c\xa3\x01\x01p\x0f\xb1\x01\x01p\x12\xa7\x01\x01p\x15\xa4\x01\x01p\x18\xee\x02\x01p\x02\xb4\x01\x01p\x1b\xf0\x02\x01p\x05\xa2\x03\x01p\x1e\xf2\x02\x01p\x08\xa9\x01\x01p\x0b\xb3\x01\x01p\x0e\xaf\x01\x01p\x11\xa8\x01\x01p\x14\xb0\x01\x01p\x17\xb2\x1b\x01p\x01\xa2\x01\x01p\x1a\xde\x02\x01p\x04\xac\x01\x01p\x07\xb2\x01\x01p\n\xa5\x01\x01p#\x9e\x03\x01p\r\xdfH\x01p\x10\xaa\x01\x01p\x13\xad\x01\x01p\x16\xef\x02\x01p\x00\x00g\x99\x01\x01gq\x04\x00\x02\x02\x01X\xe5\x16\x00\x14\x01\x02\t\x13\x16\x19\x1a!#+,8:LNRWe\x7f\x8aX^\x01{\x00\x13\x0f\x00\x01\x00d\rd\x18\x00\x04\x00c\x18\x1e\x01\x08\x00d0d\x00c\xaa\x02\x1e\x01\x01\x00d d\x1c\x00\n\x00c2\x1e\x03\x07\x00c5\x1e\x03\r\x00dmd\x00d\x1bd\x00c-\x1e\x03\x0f\x00c9\x1e\x03\x0b\x00dzd\x00c.\x1e\x03\t\x00c\xa8\x02\x1e\x01\x01\x00d/d$\x00\x0e\x00c\xbf\x02\x1e\x04\x08\x00c\x80\x01\x1e\x04\x11\x00c\xbe\x02\x1e\x04\t\x00c|\x1e\x04\x12\x00c\x7f\x1e\x04\x0c\x00c\x82\x01\x1e\x04\r\x00c\xc0\x02\x1e\x04\x07\x00c\xbd\x02\x1e\x04\n\x00c~\x1e\x04\x0e\x00c\x81\x01\x1e\x04\x0f\x00c\xad\x02\x1e\x01\x01\x00c}\x1e\x04\x10\x00d\x87\x01d\x00c\x83\x01\x1e\x04\x0b\x1a\x00\x07\x00cE\x1e\x03\r\x00c\xac\x02\x1e\x01\x01\x00cD\x1e\x03\x0f\x00cG\x1e\x03\x0b\x00cH\x1e\x03\t\x00d\x17d\x00cI\x1e\x03\x07\x02\x00\x06\x00c\x06\x1e\x03\r\x00c\'\x1e\x03\x0b\x00ded\x00c\n\x1e\x03\x07\x00c(\x1e\x03\t\x00c\xab\x02\x1e\x01\x01\x0b\x00\x01\x00d\x14d)\x00\x01\x00d\x86\x01d\x10\x00\x01\x00d\x0cd\x1b\x00\x01\x00d?dA\x00\x01\x00d\xab\x01d\r\x00\x01\x00d\x0fd<\x00\x03\x00d\xc9\x01d\x00d\xa9\x02d\x00d\x9c\x01d,\x00\x01\x00dq\n?\x00\x02\x00d\xa9\x01\x1b\x00d\xa8\x01\x1b@\x00\x01\x00d\xa6\x01F>\x00\x01\x00d\xa4\x01\x050\x00\x01\x00dv\x05J\x00\x01\x00d\xdf\x02\x05Z\xc5\xb3\x00\x13\x0f\x97\xb8\xf5\r\xc4\xe9\r\x90\x81\x0e\x18\x0e\xc5\x0f\x9c\x0e\xb4\x10\x1cU\xe9\xad\x04\xe8\xad\x04\x8c\xbb\x04$n\x9e\xaa\x07\xdc\xa8\x07\xf4\xb9\x07\x1aV\x90\xc3\x04\x8c\xbb\x04\xc4\xc8\x04\x02<\xd8\x99\x02\xc8\x94\x02\xf8\x9d\x02\x0b\xb4\xc6\xd7\x13\x98\xd5\x13\xa8\xf1\x13)\x12\xec\x18\xf4\x17\xdc\x1a\x10\x8e\x9c\xac\x0c\x9c\x9c\x0c\xb4\xb2\x0c\x1b\xc8\xa7\xde\x18\xb0\xa5\x18\x00Ae\xf9\xa1\x06\x88\x95\x06\xec\xa4\x06\r\xb9\xbd\xe5\x14\xb0\xe3\x14\xa4\x80\x15<O\x81\xe4\x03\xb4\xe1\x03\xe0\xed\x03,\x06\xbd\x02\xac\x02\xa4\x03?\x19\xdd/\xf0.\xe42@I\xf5\x9e\x03\xd0\x9a\x03\x84\xa6\x03>\x01\x00\x00\x140\x01\x00\x00\x14J\x01\x00\x00\x14XQ>\x00\x14\x0f\x01\x01\x18\x00\x01\x1c\x00\x01$\x00\x01\x1a\x00\x01\x02\x01\x01\x0be\x01)\x00\x01\x10e\x01\x1b\x01\x00A\x00\x01\re\x01<\x00\x01,\x00\x01?\x00\x01@\x00\x01\x01\x00\x01>\x00\x010\x00\x01J\x00\x01^\xa9\x02\x12\x00h\x1d\x04\x00\x00\x00\x00h\t\x04\x00\x00\x00\x00hi\x02\x00\x00hU\x02\x00\x00d\xa24\x8e\x00\xcd\x01\xb21\x00\xff\xe6\xff\xc6AY\x01\x01\xc0\x00\x00\x00\x01\xab\x01\x04Z\x93\x00\xa8Z\x90d\x8b\x10\xdd\n\x00\x04LMDA\x00\x1aLes Mo'