Tutorial Prático: Conecte ESP8266 e ESP32 para IoT DIY
Guia Prático: Sniffer Wi-Fi com ESP32 para Segurança
Analisar 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. 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 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! 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ódigo
Desafios 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 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! 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 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. 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ça
Seguranç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 logs
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. para evitar identificação indevida.
3. Criptografia
Seguranç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ça
Seguranç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
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás