Je travaille avec un protocole TCP transmettant un paquet d'un expéditeur à un destinataire. Je dois pouvoir séparer l'en-tête du contenu, qui remplit mon "paquet".Quel est le moyen le plus rapide de couper les 20 premiers octets d'une chaîne d'octets en Python?
Mon-tête est emballé comme si
tcp_header = pack('!HHLLBBH', tcp_source, tcp_dest, tcp_seq, tcp_ack_seq, tcp_offset_res, tcp_flags,
tcp_window) + pack('H', tcp_check) + pack('!H', tcp_urg_ptr)
Ensuite, mon paquet est construit comme celui-ci
packet = tcp_header + user_data
Je déballer comme ça
(tcp_source, tcp_dest, tcp_seq, tcp_ack_seq, tcp_offset_res, tcp_flags,\
tcp_window, tcp_check, tcp_urg_ptr) = unpack('!HHLLBBHHH', sent_packet)
Mais il ne fonctionne que si j'envoie l'en-tête seul. Comment puis-je séparer le contenu de l'en-tête avant de le déballer?
Merci
Merci !. Cela combiné avec struct.calcsize m'a mis sur la bonne voie. –