Version de IP = 0

Version de IP = 0

de Franco Fabian Serratto Klimas -
Número de respuestas: 3

Al intentar crear un datagrama IP desde 0, nos encontramos con que la version es errónea.

Tenemos entendido que el codigo define automáticamente la version y el largo del header en 4, pero por algun motivo nos devuelve 0 en ambos campos.

Hay alguna forma de acomodaresto sin tener que copiar el packet que nos llega?

En respuesta a Franco Fabian Serratto Klimas

Re: Version de IP = 0

de Matias Richart -

Hola.

No entiendo mucho la pregunta.

"nos encontramos con que la version es errónea."

Que quieren decir con esto?

"Tenemos entendido que el código define automáticamente la versión y el largo del header en 4, pero por algun motivo nos devuelve 0 en ambos campos." 

Qué código??

"Hay alguna forma de acomodaresto sin tener que copiar el packet que nos llega"

Cual packet? No están intentando crear un paquete nuevo?

En respuesta a Matias Richart

Re: Version de IP = 0

de Franco Fabian Serratto Klimas -

Buenas, mas específicamente:

Al intentar crear un paquete ICMP, seteando los campos de los headers correspondientes (similar al ejemplo de la letra), notamos que al enviar dicho paquete, éste tiene en su cabecera IP:

  - version = 0
  - IHL = 0

Los cuales, según el código en sr_protocol.h (a partir de la linea 112), deberían estar definidos ambos como igual a '4'.

Hay alguna forma de modificar estos valores para poder enviar un paquete ipv4 válido?
En respuesta a Franco Fabian Serratto Klimas

Re: Version de IP = 0

de Matias Richart -

Hola.

unsigned int ip_hl:4; no significa que esa variable se inicializa con 4 sino que esa variable va a ocupar 4 bits de memoria.

Tienen que setear el valor deseado cuando crean el paquete IP.


Saludos