He estado tratando de capturar paquetes WIFI con Linux y ver la frecuencia / canal en el que se capturó el paquete. Probé Wireshark y no hubo suerte ni ayuda . Aunque utilizo paquetes de muestra de Wireshark, puedo ver la frecuencia / canal.
Así que ahora estoy experimentando con Scapy. Quería averiguar la frecuencia / canal de un paquete inhalado, pero aún así no tuve suerte. ¿Hay alguna manera de hacer esto con Scapy?
PD: si hay una herramienta mejor que Scapy o Python, agradezco los comentarios
python
python-3.x
wireshark
scapy
Baby desta
fuente
fuente
Respuestas:
I descubrí que los encabezados RadioTab no son parte de cualquier protocolo Dot11 sino que simplemente se añaden por la interfaz de red. Y la razón por la que obtuve los encabezados RadioTab en paquetes de muestra de Wireshark.org y no de mi captura de cables vivos es porque algunos adaptadores de red no agregan RadioTap mientras que otros lo hacen y el adaptador de red de mi computadora portátil no agrega encabezados RadioTab. Verifiqué esto con un nuevo adaptador WiFi externo y agregó los encabezados RadioTap.
Entonces, a mi pregunta principal, cómo obtener / establecer la frecuencia de un paquete. Esperaba que Scapy tuviera esta opción, pero no la tiene, y no debería. La razón es que la frecuencia depende de lo que esté configurado en el adaptador de red. Entonces, lo que hice fue configurar la frecuencia / canal de mi adaptador WiFi a uno diferente. Mi adaptador WiFi externo puede funcionar en varios canales, así que cambié cada uno y lo confirme con el encabezado RadioTap. Hay comandos / herramientas linux simples que me ayudaron a verificar los canales compatibles de mi interfaz WiFi y cambiar a un canal en particular.
EDITAR - Otros problemas que enfrenté y soluciones:
Si está en Linux y desea cambiar el canal de trabajo de su interfaz, debe deshabilitar el administrador de red para esa interfaz y para hacer esto Primero agregue el siguiente fragmento a
/etc/network/interfaces
reemplace
$iface
con el nombre de su interfaz. Esto le permitirá controlar la interfaz usted mismo. Y luego agregue las siguientes líneas a/etc/wpa_supplicant/wpa_supplicant.conf
Tenga en cuenta que
2412 2437 2462
son las frecuencias (canal 1, 6, 11 en este caso) para que su interfaz elija. Puede editarlos a la frecuencia deseada. Fuente . Pero primero debe verificar que su interfaz sea compatible con estas frecuencias. Para comprobar esoFinalmente después de que todo esté hecho.
Esto le enviará paquetes a la frecuencia
wlp3s0
establecida.fuente
sendp(Ether()/IP(dst="1.2.3.4",ttl=(1,4)), iface="eth1")
que puede configurar su interfaz a una determinada frecuencia que desee si es compatible.Esta respuesta se centra en el título y el contenido de la pregunta: proporcionar captadores y establecedores para la frecuencia y el canal de un paquete.
Para esta solución, use el archivo wpa-Induction.pcap en las Capturas de muestra de Wireshark .
Hurgando
Es útil buscar alrededor de un paquete para ver a qué campos tiene acceso Scapy en el intérprete Scapy.
Si bien 2412 es una frecuencia y NO un canal , estos son los datos que queremos. RadioTap es la capa por
pkts[0].summary()
. Poniendo todo junto,Scapy no proporciona acceso al canal, pero es trivial convertir la frecuencia a canal.
Poniendo todo junto
Obteniendo la frecuencia
Dado un número de archivo y paquete, ahora podemos obtener el canal y la frecuencia de un paquete.
Establecer la frecuencia
Digamos que queríamos cambiar la frecuencia a 5300 y guardarla. Esto solo requeriría iterar sobre la lista de paquetes, cambiar la frecuencia de cada paquete y guardar el resultado. En el intérprete aterrador:
fuente