Duplicar paquetes en la inyección de paquetes

2

He estado intentando desarrollar algunos scripts que pueden forjar marcos 802.11 personalizados e inyectarlos a través de una interfaz de modo monitor. He revisado la documentación de desarrollo de los encabezados de radiotap y los distintos tipos de marcos compatibles con las redes 802.11.

Me las arreglé para encontrar un script de Python que haga el trabajo e inyecte paquetes con éxito. Mi primera carrera fue inyectar marcos deauth. Todo parece estar bien y funcionando, las estaciones se embellecen.

Enciendo wirehark sobre la estación que utilizo para inyectar, y escucho en la interfaz de modo de mi monitor. Mi problema es que puedo ver paquetes duplicados en wireshark. Usando el filtro wlan.fc.type_subtype == 0x0c , encuentro dos paquetes para cada paquete que inyecto. Si inyecto diez paquetes, veo 20 paquetes en wirehark.

Al observar el contenido del paquete, el paquete original tiene exactamente el mismo contenido que mi script especifica, pero los paquetes duplicados tienen sus campos de radiotap completamente diferentes. El tamaño es más pequeño por unos pocos bytes, y las banderas son diferentes. Intenté algunas variaciones apagando el bit que corresponde a la presencia de FCS y agregando y eliminando el FCS. Cuando se establece el indicador para FCS, el paquete duplicado tiene un FCS al final. Si no, wireshark no me muestra un FCS para el paquete duplicado. Sin embargo, yo no he visto este tipo de comportamiento cuando uso aireplay -ng para enviar marcos deauth. Yo uso un Ubuntu 14.

Busco ayuda en lo siguiente:

  1. ¿Por qué veo estas entradas duplicadas?
  2. ¿Hay algo que deba hacer, como crear una interfaz virtual e inyectar a través de ella, para que los paquetes duplicados no se generen?
  3. ¿Hay algún campo específico de radiotap que deba incluir para que no se produzca este comportamiento?
  4. En general, ¿hay alguna manera de que pueda especificar solo la carga útil de 802.11 Mac y pedirle a la tarjeta que agregue los datos de FCS y radiotap por sí mismo?

Aquí está mi guión: Deauth.py

Cualquier ventaja sería apreciada.

Gracias

    
pregunta user148898 13.02.2018 - 12:21
fuente

0 respuestas

Lea otras preguntas en las etiquetas