Tengo un problema al oler un ESP8266. Utilizo un raspberry pi 3 como punto de acceso wifi (no hay wpa en uso), una computadora portátil como servidor y el esp para comunicarme con el servidor.
Cuando uso tcpdump en mi frambuesa con
tcpdump -i <interface> host <device ip> -vv
una salida solo se logra mediante el inicio inicial del esp (protocolo arp) y eso es todo. Sin embargo, necesito el tipo de http y el contenido / fecha para mi propósito.
¿Alguno de ustedes tiene una solución para esto?
EDITAR Ok, he encontrado una solución mediante el uso de iptables. Puedo definir un enrutamiento previo a un puerto específico y escucharlo con la ayuda de tcpdump. Eso es realmente conveniente y creo que puedo obtener todos los datos que necesito.
wlan0
, y el RaspPi lo reenvía a la computadora portátil a través de LAN. ¿Qué pasa si solo hacestcpdump -i wlan0
? ¿Ves las solicitudes HTTP? Además, google "proxy transparente" o "mitmproxy" para facilitar el proceso.Respuestas:
El controlador puede reenviar el tráfico entre dos clientes WLAN directamente y, en ese caso, nunca llegará a la interfaz, por lo que no lo verá. No sé si es posible establecer el punto AP en un modo donde este tráfico también sea visible.
Una solución es usar dos AP, uno para el ESP8266 y otro para la computadora portátil / servidor, y enviarlos explícitamente entre ellos.
Editar
Si no solo desea capturar con
tcpdump
,wireshark
etc., sino inspeccionar y modificar el tráfico HTTP conmitmproxy
, entonces depende:¿Puede decirle a todas las aplicaciones ESP8266 relevantes que usen el RaspPi como proxy, con configuración o variables de entorno? En caso afirmativo, un AP es suficiente.
¿Necesita un proxy transparente, donde funcionará incluso si no puede / no puede configurar ajustes de proxy explícitos? Entonces necesita dos AP (o WLAN + LAN, o 2x LAN). No hay forma de evitar eso. Porque de lo contrario, cualquier comunicación entre el ESP8966 y el servidor no abandonará la interfaz, por lo
mitmproxy
que no podrá verla.fuente