es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar el método bytes() en lugar de i2m() para extraer los bytes sin procesar de un paquete parseado con Scapy. Aquí tienes un ejemplo:

    field_hex_val = bytes(packet['layer'].field_name)
    

    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 a Raw y luego extraer los bytes.

Comments are closed.