Tutorial Prático: Conecte ESP8266 e ESP32 para IoT DIY
Guia Prático: Sniffer Wi-Fi com ESP32 para Segurança
Analisar redes Wi-FiConfigurando IP Estático e Dinâmico no ESP32 via Wi-FiEste tutorial detalha como configurar IP estático e dinâmico no ESP32 via Wi-Fi, garantindo comunicação estável e integração perfeita em projetos IoT. vai além de verificar a força do sinal. Um sniffer com ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! permite decodificar pacotes, identificar dispositivos não autorizados, otimizar a performance da rede e transformar conceitos complexos em soluções práticas
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.. Este guia detalha como construir um analisador de tráfego capaz de mapear dispositivos, filtrar protocolos, detectar intrusões em tempo real
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. e integrar técnicas avançadas de segurança. Ideal para administradores de rede, entusiastas de IoT e profissionais de segurança cibernética.
👉 Índice
- Componentes
📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT. Necessários
- Conceitos Fundamentais de Redes Wi-Fi
Configurando IP Estático e Dinâmico no ESP32 via Wi-FiEste tutorial detalha como configurar IP estático e dinâmico no ESP32 via Wi-Fi, garantindo comunicação estável e integração perfeita em projetos IoT.
- Configurando o Modo Promíscuo no ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!
- Captura e Decodificação de Pacotes
- Filtragem Avançada e Análise de Tráfego
- Detecção de Intrusos e Comportamentos Anômalos
- Visualização e Integração
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. com Ferramentas Externas
- Casos Práticos: Rogue AP, Ataques DoS e Monitoramento Residencial
🎥 Câmera de Vigilância com IA EdgeEste guia completo detalha a integração de câmeras com IA Edge, otimizando segurança com reconhecimento facial, detecção de movimento e eficiência energética.
- Considerações Éticas e Legais
- Conclusão e Próximos Passos
Componentes Necessários🔗
Componente | Especificações Técnicas | Função no Projeto |
---|---|---|
ESP32-WROOM-32 | Wi-Fi 802.11 b/g/n, Dual-Core 240MHz | Processamento e captura de pacotes |
Display OLED 0.96″ | Resolução 128x64, I2C | Exibição de dispositivos detectados |
Módulo SD Card | SPI, Capacidade ≥8GB | Armazenamento de logs de tráfego |
Antena Wi-Fi Externa | Ganho 5dBi, SMA | Melhora alcance de captura |
Fonte de Alimentação | Bateria LiPo 3.7V 2000mAh | Autonomia para uso portátil |
Opcionais:
- Antena direcional para ambientes de longo alcance
Comparação Rápida: Alcance, consumo de energia, custos e complexidade de cada tecnologiaGuia completo sobre conectividade ESP32: análise das 10 principais tecnologias sem fio em termos de alcance, consumo, e custo. Leia e descubra!.
- Interface gráfica (ex: Wireshark
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.) para análise em PC.
Conceitos Fundamentais de Redes Wi-Fi🔗
Tipos de Pacotes
- Gestão: Beacons
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores., Probe Requests/Responses (anúncio de redes).
- Controle: ACK, RTS/CTS (gerenciamento de conexão).
- Dados: TCP, UDP, HTTP
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores. (comunicação efetiva).
Modo Promíscuo
Permite ao ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! capturar todos os pacotes no canal selecionado, independente do destino. Diferente dos
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados. modos station ou AP
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores., não requer conexão a uma rede específica.
Canais Wi-Fi
Redes operam em canais de 1 a 14 (2.4GHz). Um sniffer pode varrer múltiplos canais ou focar em um específico para análise direcionada.
Configurando o Modo Promíscuo no ESP32🔗
O códigoDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! abaixo configura o ESP32 para operar em modo promíscuo e capturar pacotes em um canal definido:
#include "esp_wifi.h"
void setup() {
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
esp_wifi_init(&cfg);
esp_wifi_set_mode(WIFI_MODE_NULL); // Desativa Wi-Fi padrão
esp_wifi_start();
// Configura canal 6 e define callback para processamento
esp_wifi_set_promiscuous(true);
esp_wifi_set_channel(6, WIFI_SECOND_CHAN_NONE);
esp_wifi_set_promiscuous_rx_cb(packet_handler);
}
Explicação Teórica:
WIFI_MODE_NULL
: Impede que o ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! se conecte a redes, focando apenas na captura.
esp_wifi_set_promiscuous_rx_cb
: Define uma função para processar cada pacote capturado.
Captura e Decodificação de Pacotes🔗
A função packet_handler
extrai informações críticas dosSegurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados. pacotes:
void packet_handler(void* buf, wifi_promiscuous_pkt_type_t type) {
wifi_promiscuous_pkt_t *pkt = (wifi_promiscuous_pkt_t*)buf;
wifi_ieee80211_mac_hdr_t *hdr = (wifi_ieee80211_mac_hdr_t*)pkt->payload;
// Extrai endereços MAC de origem e destino
uint8_t *mac_src = hdr->addr2;
uint8_t *mac_dest = hdr->addr1;
// Identifica Beacon Frames (tipo 0x08)
if (hdr->frame_control & 0x08) {
log_beacon(mac_src, pkt->payload);
}
}
Dados Capturáveis:
- Endereços MAC de dispositivos.
- SSIDs
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. de redes ocultas (Probe Requests).
- Força do sinal (RSSI) e taxa de transmissão
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. (MCS Index).
Filtragem Avançada e Análise de Tráfego🔗
Filtros por Endereço MAC
// Filtra pacotes de um MAC específico
if (memcmp(mac_src, "\xAA\xBB\xCC\xDD\xEE\xFF", 6) != 0) return;
Filtros por Protocolo
// Captura pacotes TCP na porta 80 (HTTP)
if (pkt->payload[23] == 0x06 && pkt->payload[20] == 0x50) {
log_http_request(pkt->payload);
}
Detecção de Padrões Anômalos
- Ataques DoS
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados.: Excessos de Deauth Frames (>100 pacotes/min).
- ARP Spoofing: Pacotes ARP não solicitados.
- Varreduras de Rede: Sequências rápidas de Probe Requests.
Integração com Machine Learning (Avançado)
Utilize modelos pré-treinados para identificar padrões de tráfego suspeitos:
# Exemplo: Classificação de tráfego com TensorFlow Lite
model = tf.lite.Interpreter(model_path="traffic_model.tflite")
input_details = model.get_input_details()
output_details = model.get_output_details()
# Processa dados do ESP32
model.set_tensor(input_details[0]['index'], processed_data)
model.invoke()
prediction = model.get_tensor(output_details[0]['index'])
Detecção de Intrusos e Comportamentos Anômalos🔗
Técnicas de Identificação
- Lista Branca de MACs: Alerta para dispositivos não cadastrados.
- Análise de Comportamento:
- Dispositivos transmitindo em canais incompatíveis.
- Pacotes criptografados em redes abertas.
Exemplo: Detecção de Rogue AP
if (strcmp(ssid, "RedeOficial") == 0 && !is_mac_authorized(mac_src)) {
digitalWrite(LED_ALERT, HIGH);
log_sd("Rogue AP detectado: MAC %s", mac_to_str(mac_src));
}
Visualização e Integração com Ferramentas Externas🔗
Display OLED
#include <Adafruit_SSD1306.h>
void update_display() {
display.clearDisplay();
display.setCursor(0,0);
display.printf("Dispositivos: %d\n", devices_count);
display.display();
}
Integração com SIEM (ex: Wazuh)
Encaminhe logs para um Sistema de Gerenciamento de Eventos de SegurançaSegurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima.:
# Configuração do agente Wazuh no ESP32
wazuh-agent -d -l sniffer_logs.csv
Casos Práticos: Rogue AP, Ataques DoS e Monitoramento Residencial🔗
Caso 1: Detecção de Rogue AP em Ambiente Corporativo
- Sintomas: SSID idêntico à rede legítima, MAC não autorizado, alta frequência
Configuração de PWM e FrequênciaAprenda a configurar e ajustar o PWM no ESP32 com exemplos práticos para controlar LEDs, motores e servomotores em projetos IoT. de Beacons
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores..
- Ação: Bloqueio via firewall e notificação ao administrador.
Caso 2: Mitigação de Ataque DoS em Eventos
- Sintomas: Pico de Deauth Frames (>500/min).
- Ação: Ativação de filtro de MAC e alternância de canal.
Caso 3: Monitoramento Residencial com Alertas em Tempo Real
- Sintomas: Dispositivos desconhecidos em redes IoT
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados..
- Ação: Notificação via Telegram usando biblioteca
UniversalTelegramBot
.
Considerações Éticas e Legais🔗
1. Legalidade: Sniffing passivo é ilegal sem consentimento em redes alheias. Use apenas em redes próprias ou autorizadas.
2. Privacidade: Ofusque MAC addresses em logsSegurança e Autenticação em APPsDescubra estratégias essenciais para implementar HTTPS, autenticação JWT e segurança robusta em APPs conectados ao ESP32 para IoT. para evitar identificação indevida.
3. CriptografiaSegurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima.: Pacotes WPA2
Segurança na Rede: Protegendo a Conexão Wi-Fi do ESP32Proteja a conexão Wi-Fi do ESP32 com dicas de criptografia, senhas fortes e monitoramento, garantindo segurança e integridade dos dados./3 não podem ser decodificados sem a chave de rede.
// Ofuscação de MAC em logs
void log_mac(uint8_t *mac) {
Serial.printf("%02X:%02X:XX:XX:XX:XX\n", mac[0], mac[1]);
}
Conclusão e Próximos Passos🔗
Um sniffer Wi-Fi com ESP32 é uma ferramenta poderosa para administradores de rede e entusiastas de segurança. Ao combinar captura de pacotes, filtragem avançada e integração com sistemas externos, é possível criar soluções robustas para detecção de intrusões e otimização📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de redes.
Próximos Passos:
- Implemente injeção de pacotes para testes de penetração
Segurança e Autenticação em APPsDescubra estratégias essenciais para implementar HTTPS, autenticação JWT e segurança robusta em APPs conectados ao ESP32 para IoT. (requer firmware modificado).
- Explore a correlação de eventos com ferramentas como Elasticsearch.
- Desenvolva dashboards em tempo real
Criando um Dashboard em Tempo Real para Dados MQTT do ESP32Aprenda a criar um dashboard interativo que monitora em tempo real dados de sensores via MQTT com ESP32 e Node-RED. Guia passo a passo. usando Node-RED ou Grafana.
// Exemplo de envio de dados para Node-RED
void send_to_node_red(uint8_t *data) {
HttpClient http;
http.post("http://node-red:1880/sniffer", data);
}
Nota Final: Este projeto é um ponto de partida. Adapte-o para suas necessidades, sempre respeitando as leis locais e os princípios éticos da segurançaSegurança em MQTT: Autenticação e Criptografia no ESP32Descubra como proteger conexões MQTT em aplicações IoT com ESP32, implementando autenticação e criptografia TLS para segurança máxima. cibernética.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Comunidade e Projetos da Espressif: github.com/espressif
- Documentação de Apresentação do ESP32: espressif.com/en/products/socs/esp32
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32
- Guia de Programação ESP-IDF: docs.espressif.com/projects/esp-idf
- Repositório do ESP32 Arduino Core: github.com/espressif/arduino-esp32