Capturar trama ethernet completa

Iniciado por Schaiden, 25 Mayo 2017, 10:05 AM

0 Miembros y 1 Visitante están viendo este tema.

Schaiden

Que tal, estuve capturando los paquetes que entran y salen de mi pc, y noté que en la sección de la trama ethernet solo figuran la MAC destino, origen y el ethertype, pero nunca veo el preámbulo, ni el CRC que según leí también forman parte de una trama ethernet. Quería saber por qué no me llegan dichos campos. Saludos

animanegra

Si te llegan lo que pasa es que no los ves porque la tarjeta de red no se los pasa al espacio del Kernel y el esnifer o el espacio de usuario no los ve.

https://serverfault.com/questions/521443/can-wireshark-capture-an-entire-ethernet-frame-including-preamble-crc-and-inter

Es parecido a lo que pasa cuando capuras cosas del loockback (o paquetes que genera tu ordenador hacia un servidor), que nunca vas a ver los paquetes con padding porque no llegan a enviarse por la tarjeta de red y esta es la encargada de hacer el padding. Tambien a veces pasan algunas cosas curiosas como que el IPID se cambie o que el crc de alguna capa salga erroneo, ya que muchas veces es la propia tarjeta la que los rellena y el soft del ordenador lo deja a ceros (o lo que tenga estipulado el driver) para que se rellene posteriormente.

No se si se ha entendido.

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.

Schaiden

Creo que te entiendo! Es decir, el adaptador de red usa los bytes del preámbulo para identificar una nueva trama y el CRC para verificar que la trama sea válida, pero una vez identificado el inicio de la trama y verificado que dicha trama sea válida, no tiene ninguna necesidad de enviárselos al kernel, ya que éste trabajo es realizado por el adaptador y no por el kernel, entonces la aplicacion, el sniffer, como vos decis, que sería el espacio de usuario, cuando hace las system calls correspondientes, obtiene lo que le llego al kernel, ni más ni menos, x eso es que desde wireshark no se pueden visualizar dichos campos