Scapy3, récupérer valeur hexadécimal d'un champ
Bonjour,
Comment fait-on pour extraire la valeur hexadécimale d'un champ d'un paquet / trame réseau avec scapy-pyhon3 ? Par exemple, voici un paquet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| ###[ Ethernet ]###
dst = ff:ff:ff:ff:ff:ff
src = 00:00:00:00:00:00
type = IPv4
###[ IP ]###
version = 4
ihl = None
tos = 0x0
len = None
id = 1
flags =
frag = 0
ttl = 64
proto = icmp
chksum = None
src = 127.0.0.1
dst = 127.0.0.1
\options \
###[ ICMP ]###
type = echo-request
code = 0
chksum = None
id = 0x0
seq = 0x0 |
Je sais que IPv4 dans le champ "type" dans Ethernet correspond à 0x0800, ICMP dans le champ "proto" dans IP correspond à 0x01, mais ça je le sais car j'ai une bonne documentation. Si je capture un paquet (ou que je le forge), comment puis-je traduire IPv4 en 0x0800, ICMP en 0x01, etc ? Plus généralement comment puis-je passer d'une valeur textuelle à une valeur numérique (que ce soit de l'hexa, du binaire, etc, ensuite je peux convertir...) dans n'importe quel champ ?
Merci d'avance.