Analisador de MAC
Um endereço MAC contém mais informações do que apenas um identificador de dispositivo.
Executar grátis
Os dois bits menos significativos do primeiro octeto indicam se o endereço identifica uma interface individual ou um grupo e se a atribuição é universal ou local. Este analisador valida um endereço de 48 bits, normaliza a notação, exibe o primeiro octeto em hexadecimal, decimal e binário e informa as duas classificações com os bits decodificados. Ele é útil para diagnosticar redes, revisar configurações, documentar sistemas e entender exatamente como esses sinalizadores funcionam.
Leia os dois sinalizadores do primeiro octeto
Um endereço MAC convencional de 48 bits contém seis octetos, mas sua classificação depende somente de dois bits do primeiro. O bit menos significativo é o bit individual/grupo, geralmente abreviado como I/G. Quando ele vale zero, o endereço é individual e, portanto, unicast. Quando vale um, o endereço representa um grupo e é multicast. O próximo é o bit universal/local, chamado de U/L. Zero indica um endereço administrado universalmente, enquanto um indica administração local. Este analisador interpreta o primeiro octeto, mostra sua representação binária completa de oito bits e devolve os dois bits inferiores separadamente para que você possa conferir a conclusão. Lembre-se de que, nesse contexto, as posições binárias são contadas a partir da direita. Por exemplo, um primeiro octeto terminado em 10 binário é unicast porque o bit da direita é zero, mas é administrado localmente porque o bit seguinte é um. Os outros seis bits não determinam essas duas classificações.
Informe um endereço MAC válido de 48 bits
A entrada deve representar exatamente seis octetos, cada um com dois dígitos hexadecimais. São aceitas notações comuns: valores separados por dois-pontos, como 02:42:AC:11:00:02, valores separados por hífen, grupos no estilo Cisco, como 0242.AC11.0002, e uma sequência simples de doze dígitos hexadecimais. Letras maiúsculas e minúsculas são equivalentes. Resultados válidos sempre usam letras maiúsculas e dois-pontos, facilitando a comparação de valores vindos de logs ou ferramentas diferentes. A validação é intencionalmente rigorosa. Separadores misturados, dígitos ausentes, octetos extras, espaços dentro do endereço e caracteres não hexadecimais são rejeitados em vez de corrigidos por suposição. O analisador trabalha com endereços MAC padrão de 48 bits e não aceita identificadores EUI-64. Essa rigidez é importante em automações, pois corrigir silenciosamente um valor ambíguo pode classificar outro endereço. Se a entrada falhar, corrija a notação ou o comprimento e envie novamente; nenhuma rede ou base de fabricantes é consultada.
Interprete a classificação sem ir além do resultado
O resultado descreve sinalizadores codificados no endereço, não o comportamento atual, a propriedade ou a confiabilidade de um dispositivo. Um endereço unicast administrado universalmente normalmente reflete um identificador atribuído de um bloco gerenciado globalmente, mas o analisador não pesquisa fabricantes por OUI nem comprova qual equipamento está usando o endereço. Um endereço administrado localmente pode ser definido por um administrador, gerado por uma máquina virtual ou plataforma de contêineres ou produzido por recursos de privacidade que aleatorizam endereços de clientes. Da mesma forma, a classificação multicast decorre diretamente do bit I/G; ela não demonstra que exista tráfego multicast na rede. O endereço de broadcast composto por uns também possui o bit de grupo ativo e, por isso, aparece como multicast no nível da classificação dos bits. Use o valor normalizado e os sinalizadores explícitos como evidência ao revisar capturas, registros DHCP, tabelas de switches, listas de controle de acesso ou configurações geradas. Cada chamada à API custa US$ 0,002, e o cálculo determinístico dispensa serviços externos.
Casos de uso
Revise endereços aleatórios de clientes
Verifique se um endereço observado em registros Wi-Fi ou DHCP possui o bit local usado por muitos recursos de privacidade e virtualização.
Inspecione uma configuração multicast
Confirme o bit individual/grupo antes de inserir um endereço em um filtro multicast, regra de captura ou teste de rede.
Ensine a estrutura de endereços MAC
Mostre o primeiro octeto em binário com os dois sinalizadores para relacionar as posições dos bits às classificações.
Perguntas frequentes
Qual parte do endereço MAC determina seu tipo?
Os dois bits menos significativos do primeiro octeto. O bit zero seleciona individual/unicast ou grupo/multicast, e o bit um seleciona administração universal ou local.
Um endereço administrado localmente é inválido?
Não. Endereços locais são válidos e comuns em virtualização, contêineres, substituições deliberadas e aleatorização para privacidade.
Este analisador identifica o fabricante do equipamento?
Não. Ele apenas decodifica sinalizadores e não consulta registros OUI nem bancos de dados externos.
Quais formatos de entrada são aceitos?
São aceitos formatos hexadecimais de 48 bits com dois-pontos, hífens, grupos Cisco ou doze dígitos contínuos.
Quanto custa uma solicitação à API?
Cada solicitação à API custa US$ 0,002. O cálculo é determinístico e não acessa serviços externos.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/mac-type \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mac_address":"02:42:AC:11:00:02"}'const res = await fetch("https://api.kit.forhosting.com/dev/mac-type", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mac_address": "02:42:AC:11:00:02"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/mac-type",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mac_address": "02:42:AC:11:00:02"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/mac-type", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mac_address":"02:42:AC:11:00:02"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mac_address":"02:42:AC:11:00:02"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/mac-type", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"mac_address": "02:42:AC:11:00:02"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.mac_type",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |