Protocolo ARP
Iremos agora, falar sobre o
Protocolo ARP, boa leitura!
O protocolo ARP, ou
Address Resolution Protocol, é um padrão adotado pelo TCP/IP, definido pela RFC 826. Ele resolve o endereço IP usado por programas baseados em TCP/IP, para endereços MAC (Media Access Control) encontrados na camada de hardware ou Ethernet.
Este protocolo realiza o mapeamento dinâmico entre endereços IP de 32 bits e endereços de Hardware usados pelas várias tecnologias de enlace, presentes no modelo OSI.
Obs:. leia mais sobre camadas e modelos OSI antes de prosseguir, pode começar clicando no link abaixo:
Quando solicitado um pacote ARP, primeiramente, verifica-se a procura de entradas referentes ao IP/MAC em cache, caso o endereço não constar na tabela cache, é enviado em broadcast, um pacote contendo o endereço IP do outro host que espera uma resposta contendo um endereço MAC respectivo.
Cada máquina armazena uma tabela de resolução em cache a fim de reduzir a latência e carga na rede, esta tabela é limpa em determinado intervalo de tempo (questão de poucos minutos), o uso deste protocolo permite que o endereço IP seja independente do endereço da sua rede local, mas só funciona se todas as máquinas da rede o utilizarem.
"O ARP foi implementado em vários tipos de redes, não é um protocolo restrito à redes IP ou Ethernet e pode ser utilizado para resolver endereços de diferentes protocolos de rede. Porém, devido à prevalência de redes IPv4 e Ethernet, ARP é utilizado primordialmente para traduzir endereço IP para endereço MAC.
Também é utilizado em outras tecnologias de IP sobre LAN, como Token Ring, FDDI ou IEEE 802.11, e para redes IP sobre ATM."
Fonte:
Address Resolution Protocol – Wikipédia, a enciclopédia livre
Experimente digitar no seu micro:
arp
Ou:
arp -a
Serão mostradas informações correspondentes aos dados locais armazenados em cache, como número MAC, tipo de Hardware e/ou nome do adaptador de rede. Para mais informações, use o comando:
arp -h
E leia as
man pages:
man arp
Hub x Switch
Diferenças entre Hub e Switch.
Hub - este aparelho era muito utilizado em redes de pequenas empresas ou em ambientes domésticos.
Ele atua, simplesmente, como um replicador de sinal elétrico, situando-se na 1° camada do modelo OSI (camada física), ou seja, um pacote vindo do IP 10.0.0.1 com destino ao IP 10.0.0.2, seria enviado para todas as interfaces de rede conectadas ao Hub.
E elas, que tratariam de aceitar ou ignorar a transmissão. O que acontece, é que somente a máquina que solicitou os pacotes responderá aos mesmos, estabelecendo assim a conexão.
Isso fazia com que apenas uma transmissão pudesse ser efetuada por vez, já que este mesmo pacote seria replicado para todas as máquinas ligadas ao Hub, sendo toda a rede capaz de "escutar" o tráfego, bastando para tal, colocar a placa em modo promíscuo, ficaria fácil uma máquina de IP 10.0.0.5, capturar estes pacotes.
Isto se deve justamente por nosso equipamento não possuir uma tabela inteligente para guiar os pacotes ao seu destino corretamente, tornando este aparelho nem um pouco seguro e de baixo desempenho em grandes redes.
Switch - o Switch diferentemente dos Hubs, trabalham encaminhando os pacotes aos respectivos hosts de destino.
Isto se deve por ele possuir um cache da tabela de endereços MAC, o que lhe permite fazer diversas transmissões simultâneas, podendo trabalhar de forma alternada entre os hosts, aumentando bastante o desempenho e a segurança da nossa rede, pois agora, somente os hosts de destino receberão seu respectivo tráfego e não toda a rede, evitando as famosas perdas de pacotes e diminuindo nossa latência.
Na tabela, ele fica situado na segunda camada do modelo OSI (camada de enlace), camada esta que entende os bits e os converte para frame. Como já falado, utiliza-se dos endereços MAC, que são empregados na criação de "túneis" de conexão entre o dispositivo Ethernet e outro dispositivo na WEB.
Alguns Switchs de hoje, já atuam na 3ª camada, ou seja, eles são capazes de trabalhar com endereços IP usando de referência o MAC da Ethernet, transformando frames em pacotes e os despachando ao seu destino corretamente.
Introdução - MAC Flood
Os ataques de
MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo!
Isso mesmo! Mas a maioria dos fabricantes utilizam-se da primeira opção, pois um Switch que não funciona, nunca sairia dos depósitos das lojas. Isso favorece o atacante que, geralmente, visa comprometer a integridade da rede para obter informações ou, simplesmente, burlar alguma regra interna, ao invés de derrubar a rede.