O MAC Address Validator é uma aplicação desktop especializada na validação rigorosa de endereços MAC (Media Access Control). Diferente de validadores genéricos, esta ferramenta detecta nuances específicas de formatação, identifica erros comuns e fornece diagnósticos detalhados — ideal para equipes de redes, segurança e auditoria.
Endereços MAC mal formatados causam falhas silenciosas em:
- Listas de controle de acesso (ACLs)
- Bases de dados de inventário de ativos
- Configurações de DHCP e filtros de rede
- Sistemas de rastreabilidade de dispositivos
| Categoria | Descrição |
|---|---|
| 🔍 Validação de Formato | Verifica rigorosamente o padrão XX:XX:XX:XX:XX:XX |
| 📊 Detecção de Separadores | Identifica uso incorreto de -, , ou ausência de separadores |
| 🔄 Detecção de Duplicatas | Conta ocorrências e alerta sobre MACs repetidos |
| 💡 Correção Inteligente | Reconhece padrões de erro e sugere correções |
- Python 3.8+ (Tkinter incluído na instalação padrão)
python mac_validator.py| Formato | Exemplo | Status |
|---|---|---|
| Duas pontos (padrão) | 00:1A:2B:3C:4D:5E |
✅ Valid |
| Hífen | 00-1A-2B-3C-4D-5E |
❌ Detectado |
| Sem separador | 001A2B3C4D5E |
❌ Detectado |
| Vírgula interna | 00:1A,2B:3C:4D:5E |
|
| Separados por vírgula | 00:1A:2B:3C:4D:5E, 00:2B:3C:4D:5E |
✅ Processado |
| Aba | Ícone | Descrição |
|---|---|---|
| Valid | ✅ | Endereços no formato correto XX:XX:XX:XX:XX:XX |
| Duplicates | 🔁 | Endereços que aparecem mais de uma vez |
| Malformed | ❌ | Formato inválido com diagnóstico detalhado |
| Wrong Comma | Vírgula posicionada incorretamente | |
| Double Comma | Duplo separador ,, detectado |
00:1A:2B:3C:4D:5E
00:2B:3C:4D:5E:6F
00:1A:2B:3C:4D:5E
00-3C-4D-5E-6F-7A
00:1A,2B:3C:4D:5E:6F
001A2B3C4D5E
00:2B:3C:4D:5E:6F,, 00:3C:4D:5E:6F:7A
| Aba | Resultados |
|---|---|
| Valid | 00:2B:3C:4D:5E:6F |
| Duplicates | 00:1A:2B:3C:4D:5E (aparece 2 vezes) |
| Malformed | 00-3C-4D-5E-6F-7A (usa hífen), 001A2B3C4D5E (sem separadores) |
| Wrong Comma | 00:1A,2B:3C:4D:5E:6F (vírgula dentro do MAC) |
| Double Comma | 00:2B:3C:4D:5E:6F (duplo separador próximo) |
Dark-mode com tipografia editorial e inspiração em interfaces modernas:
| Elemento | Cor |
|---|---|
| Fundo principal | #1a1a1a |
| Fundo de entrada/saída | #2a2a2a |
| Cor de destaque | #007aff |
| Texto principal | #ffffff |
| Texto secundário | #888888 |
| Método | Responsabilidade |
|---|---|
__init__(root) |
Inicializa a janela e widgets |
extract_macs(raw_text) |
Extrai MACs do texto bruto |
validate_macs() |
Orquestra validação e classificação |
populate_tab(tab, items) |
Preenche abas com resultados |
Entrada de Texto
↓
extract_macs() → Lista bruta de MACs
↓
validate_macs()
├─→ Verifica vírgula interna (comma_wrong)
├─→ Verifica duplo separador (comma_dup)
└─→ Valida formato com regex
├─→ Grupos incorretos → Malformed
├─→ Formato inválido → Malformed
├─→ Duplicata → Duplicates
└─→ Formato correto → Valid
mac_pattern = re.compile(r'^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$')Contribuições são bem-vindas! Siga estas diretrizes:
- Mantenha o padrão dark-first da interface
- Documente novas funcionalidades
- Teste com diferentes tamanhos de entrada
MIT License — veja o arquivo LICENSE para detalhes.
Feito com foco em qualidade de código e experiência do usuário.