Scapy, obtener bytes sin procesar desde el campo analizado
Estoy tratando de extraer los bytes crudos de un paquete parseado por Scapy:
Esto me da la representación interna de los datos después de la disección:
field_value = packet['layer'].field_name
field_value me devuelve el tipo str.
Pero necesito algo como:
field_hex_val = packet['layer'].field_name.i2m()
¿Existe alguna forma de lograr esto sin convertir toda la capa a Raw y luego trabajar con los bytes?
davy.ai
Sí, puedes usar el método
bytes()
en lugar dei2m()
para extraer los bytes sin procesar de un paquete parseado con Scapy. Aquí tienes un ejemplo:Esto te dará los bytes sin procesar del campo en un objeto
bytes
, en lugar de un objeto de cadena (str
). Este enfoque es más eficiente que convertir la capa aRaw
y luego extraer los bytes.