Ao monitorar os logs do firewall, notei que MAC
os endereços relatados nos nftables
logs não correspondem ao comprimento padrão.
Pelo que entendi, MAC
o endereço tem 48 bits, que devem ser representados como 12 dígitos hexadecimais, porque cada dígito hexadecimal requer 4 bits, portanto 48/4 = 12 dígitos hexadecimais (agrupados em 6 grupos de 2 dígitos cada).
O acima exposto está de acordo com o que a Wikipedia afirma:
Como normalmente representados, os endereços MAC são reconhecíveis como seis grupos de dois dígitos hexadecimais , separados por hífens, dois pontos ou sem separador.
De acordo com a Wikipedia, um exemplo desse endereço é 01:23:45:67:89:AB
, o que significa que há 12 dígitos hexadecimais (6 grupos x 2 por grupo = 12) e é assim que reconheço dispositivos no meu LAN
também e como faço a filtragem de tráfego no LAN
.
Esses 6 dígitos hexadecimais de grupo também são vistos em logs de firewall (por exemplo, ARP
entrada), já que isso está claro, não vou postar um exemplo disso.
No entanto, também existem registros como este:
2024-09-29T14:44:21.000498+02:00 debian kernel: [ 2520.417160] DROP default new_in_4: IN=wlan0 OUT= MAC=00:c0:ca:52:bf:8e:10:a3:b8:f5:f7:28:08:00 SRC=157.48.189.170 DST=192.168.1.34 LEN=132 TOS=0x08 PREC=0x20 TTL=43 ID=0 PROTO=UDP SPT=35165 DPT=3451 LEN=112
Este lista 14 grupos de MAC
endereços de dígitos hexadecimais ou 28 dígitos hexadecimais no total.
Todos esses endereços começam com 00:
e terminam com :00
como primeiro e último grupo de dígitos.
Portanto, este MAC
endereço que pode ser visto no nftables
log tem mais que o dobro do tamanho do que deveria ter (contando o grupo de prefixo e o grupo de sufixo de 00
).
A pergunta 1 é: o que é esse MAC
endereço de 14 grupos e 28 dígitos e o que ele significa em nftables
logs?
E a pergunta 2, provavelmente ainda mais interessante, é: como é possível obter MAC
o endereço de um peer em algum lugar da internet? Presumo que esse MAC
endereço venha de fora NAT
do firewall porque não o reconheço.
Como posso filtrar esses MAC
endereços estranhos e devo fazer isso?
Esta entrada de log de exemplo descarta o tráfego UDP de entrada gerado pelo peer do BitTorrent porque fechei o cliente.
editar:
ip link show wlan0
3: wlan0 <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DORMANT group default qlen 1000
link/ether 00:c0:ca:52:bf:8e brd ff:ff:ff:ff:ff:ff
Dei uma olhada no código-fonte para tentar descobrir o que relata o
MAC=
.Foi encontrada a função dump_mac_header no kernel do Linux
netfilter
, que possui o seguinte bloco relevante:O que significa:
NF_LOG_MACDECODE
sinalizador de log estiver definido, serão reportados camposMACSRC
,MACDST
e separadosMACPROTO
.MAC=
uma lista de bytes separada por dois pontos.Ainda não tentei, mas na Tabela 60. log-flags
man nft
você deve conseguir definir oether
sinalizador para causar a decodificação dos endereços MAC:Do iptables está ocasionalmente registrando endereços MAC. Por quê? como sugerido por ilkkachu então para aqueles 14 bytes
MAC=
na pergunta pense que:00:c0:ca:52:bf:8e
é o endereço MAC de destino. Isso corresponde ao endereço MAC para owlan0
dispositivo fornecido na pergunta. Da Wireshark OUI Lookup Tool que é para oAlfa, Inc.
fabricante, um fornecedor de adaptadores WiFi.10:a3:b8:f5:f7:28
é o endereço MAC de origem. Isso é para oIskratel d.o.o.
fabricante, um provedor de equipamentos de rede para conectividade de banda larga e comunicações convergentes .08:00
é o EtherType para IPv4.