[FUG-BR] Problemas com ARP kernel: arp: unknown hardware addressformat (0x1100)
Luiz Otavio O Souza
lists.br em gmail.com
Quarta Outubro 15 11:40:07 BRT 2014
2014-10-15 10:49 GMT-03:00 Edinilson - ATINET:
>> Prezados, bom dia!
>>
>> Tenho recebido diversas mensagens de ARP com esse erro abaixo, mas nao
>> estou conseguindo identificar o problema na minha rede. Alguem sabe como
>> me
>> ajudar?
>>
>> Oct 13 01:50:45 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:94:d2:7c to 9b:a5:00:00:00:00)
>> Oct 13 02:26:26 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:84:33:bb to 6a:0f:00:00:00:00)
>> Oct 13 21:43:29 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:3c:41:71 to 6e:2f:00:17:10:a7)
>> Oct 13 21:43:29 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 60:00:00:00:00:14 to 90:44:00:8e:01:be)
>> Oct 13 21:59:39 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:28:68:47 to 51:3a:41:43:41:43)
>> Oct 13 23:02:21 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:34:55:c5 to 28:2e:00:08:4d:69)
>> Oct 13 23:02:21 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:74:48:d3 to 95:d3:63:65:3a:31)
>> Oct 14 00:43:30 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:74:f9:0d to d9:eb:35:2e:31:3a)
>> Oct 14 01:15:02 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:00:34:df:85 to 43:e4:2e:32:35:30)
>> Oct 14 04:36:07 rblive kernel: arp: unknown hardware address format
>> (0x1100) (from 45:00:05:3c:02:ad to fe:8c:ac:e2:c5:6b)
>>
>> Ja tentei identificar com tcpdump, mas nao consegui. Encontrei até uma
>> mensagem antiga na lista freebsd-stable orientando como fazer, mas não
>> resolveu.
>>
>> http://lists.freebsd.org/pipermail/freebsd-stable/2007-January/032530.html
> Ja tive este problema aqui (e ainda ocorre as vezes) e, pelo que percebi
> aqui pode ser:
>
> 1o) Alguma placa de rede de sua rede com defeito e enviando frames com
> erros. É dificil de encontrar qual é a bendita. SE estiver com tempo, um
> tcpdump -p -i SUA-PLACA arp as vezes pode indicar qual é a placa (o erro
> aparece logo apos varias requisicoes de arp who-has .....);
Precisa usar mais verbose no tcpdump pra ver o conteúdo completo do pacote:
# tcpdump -xxvvnei ifname arp
Um ciclo normal (arp request e reply) se parece com isso aqui:
11:11:43.428875 e8:40:f2:c2:98:00 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has
192.168.0.55 tell 192.168.0.10, length 28
0x0000: ffff ffff ffff e840 f2c2 9800 0806 0001
0x0010: 0800 0604 0001 e840 f2c2 9800 c0a8 000a
0x0020: 0000 0000 0000 c0a8 0037
11:11:43.430530 b8:27:eb:58:ee:51 > e8:40:f2:c2:98:00, ethertype ARP
(0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Reply
192.168.0.55 is-at b8:27:eb:58:ee:51, length 46
0x0000: e840 f2c2 9800 b827 eb58 ee51 0806 0001
0x0010: 0800 0604 0002 b827 eb58 ee51 c0a8 0037
0x0020: e840 f2c2 9800 c0a8 000a 0000 0000 0000
0x0030: 0000 0000 0000 0000 0000 0000
^C
O número que você precisa procurar esta na ultima coluna na primeira
linha, é esse valor que descreve o tipo de hardware e os tipos de
endereços utilizados no request/reply. O valor '0001' corresponde a
'ethernet'.
O FreeBSD esta dizendo que existem pacotes com o valor '1100', coisa
que não devia acontecer (numa rede ethernet). Se você conseguir um
pacote desses, por favor encaminhe para nós (pode conter mais
informações sobre a origem do pacote).
Isso pode ser uma placa ou switch problemático enviando pacotes
corrompidos para a rede ou simplesmente um protocolo diferente
(proprietário?).
A forma de identificar a origem desses pacotes é pelo MAC address de
onde eles estão partindo e o problema é que se for uma placa enviando
pacotes corrompidos o MAC address também pode estar errado e se for um
protocolo proprietário ele também pode usar um MAC address que não o
original da placa... ai so mesmo desligando equipamento por
equipamento para encontrar de onde os pacotes estão vindo.
> 2o) Protocolos que não IP trafegando na rede. Um exemplo é o IPX, que algum
> maluco ainda ativa em alguma maquina (este é facil de pegar com um tcpdump
> -p -i SUA-PLACA ipx).
Não, não se trata desse tipo de protocolo, é um sub-tipo do protocolo
ARP. O ARP por si é um protocolo como o IPX e no FreeBSD o pacote já
foi decodificado com um pacote ARP (o valor '0806' na sétima coluna
identifica o protocolo).
Por isso precisamos de um pacote completo para ver do que se trata.
>
> Porem, de um modo geral, é um erro que só é informativo e não causa maiores
> transtornos.
Isso mesmo, é só um pacote não reconhecido (um ARP para um endereço
não ethernet numa rede ethernet) e vai ser descartado.
Luiz
Mais detalhes sobre a lista de discussão freebsd