O que é ICMP? Saiba tudo sobre esse protocolo

Existem diversos tipos de protocolos de rede na área da tecnologia. Por isso, lembrar de cada um deles pode ser uma tarefa difícil.

Entre eles existe o protocolo ICMP, que mesmo não sendo um dos mais importantes, possui destaque e relevância. Mas você sabe o que ele faz e como ele atua? Leia esse artigo para essas e outras respostas.

O que é ICMP?

O Internet Control Message Protocol, Protocolo de Mensagens de Controle da Internet ou simplesmente ICMP, é um protocolo de camada de rede utilizado majoritariamente para reportar erros ao usuário sobre falhas na entrega de pacotes de dados.

Ele informa quando a transmissão de dados entre o dispositivo do usuário e o servidor foi comprometida, total ou parcialmente. Dessa forma, é possível identificar uma possível causa do problema de comunicação.

Para que serve o ICMP?

Como dissemos anteriormente, o ICMP é um protocolo utilizado para reportar erros quando há falhas de comunicação. Porém, esta não é a única utilização dele.

Ele também é usado para diagnosticar o desempenho de redes e roteadores, informar status e verificar a segurança.

Dessa maneira, ele fornece relatórios sobre os itens anteriores, ajudando administradores de redes a terem maior conhecimento do que está ocorrendo dentro delas.

Infelizmente, o Protocolo de Mensagens de Controle da Internet também é utilizado por cibercriminosos para realizar ataques de DDoS, como ataques de inundação de ICMP, Ping da Morte e Smurf.

Como ele funciona?

Antes de explicar como funciona, é preciso entender que o Internet Control Message Protocol não gerencia nenhum dado, dispositivo ou rede. Ele apenas informa sobre os erros e perda de dados que ocorrem durante as transmissões.

Todas as vezes que pacotes de dados forem enviados e houver um problema na entrega, seja ela incompleta ou na ordem errada, ele irá notificar o usuário do ocorrido.

Para compreender melhor seu funcionamento, é preciso saber o que é um Ping ou Traceroute.

Traceroute

Além de conseguir verificar a acessibilidade de um dispositivo, o traceroute permite verificar qual caminho o pacote de dados está percorrendo, além de quanto tempo levou. Por conta disso, é possível detectar o local onde houve a perda de comunicação entre o usuário e o servidor, e quando isso ocorreu.

Nós temos um artigo completo sobre Traceroute. Leia aqui.

Ping 

O ping é como um traceroute, porém mais simples. Ele informa apenas quanto tempo leva para que os dados cheguem até o destino.

Qual a sua função no diagnóstico de redes?

Vimos anteriormente que o ping e o traceroute utilizam ICMP. Portanto, dependendo do tipo utilizado, é possível obter diferentes tipos de informações sobre o diagnóstico de rede.

Traceroute

Como mencionamos, o traceroute disponibiliza o caminho que foi percorrido pelo pacote de dados, possibilitando verificar por onde ele passou, e consequentemente, por onde ele não passou. Cada viagem entre roteadores é chamada de salto.

Dessa forma, dependendo do caminho da continuação dos saltos, conseguimos identificar exatamente onde e quando o pacote ficou retido, indicando se o problema está no servidor, no dispositivo do usuário ou então na rede.

Ping

Ele envia mensagens ICMP do tipo echo request ao destino e dependendo da resposta, ou falta dela, permite tirar algumas conclusões.

Quando mensagem de retorno echo reply é recebida, indica que há conectividade entre os dispositivos. Nesse caso, é possível observar o tempo que os pacotes demoram para ir ao destino e voltar, e se todos os pacotes foram entregues corretamente, medindo a latência e a perda de pacotes na comunicação.

É importante ressaltar que uma grande quantidade de pacotes perdidos, ou um tempo alto de latência, não significam problemas de rede. Isso porque o ICMP depende de uma rede funcional, mas não estabelece conexões como o TCP. Caso o roteador esteja sobrecarregado, ele dá prioridade para pacotes mais importantes que afetam diretamente o funcionamento.

Por exemplo, em casos de sobrecarga, os roteadores podem descartar os pacotes ICMP enquanto que todo o resto do tráfego flui normalmente. Por isso, pings sozinhos não conseguem diagnosticar o status da rede.

Tipos e códigos de mensagens  ICMP

A combinação dos tipos e códigos que as mensagens de ICMP demonstram diferentes diagnósticos.

A imagem acima demonstra o formato padrão de uma mensagem ICMP, onde cada campo indica uma informação diferente.

A figura acima indica o significado de algumas combinações comuns que surgem nas mensagens ICMP.

Por exemplo, quando uma delas apresenta o campo do "tipo" como "3" e o campo do "código" como "0", significa que a rede de destino está inalcançável.

Diferença entre o ICMP e outros protocolos

Como dissemos anteriormente, ao contrário de outros protocolos, o Protocolo de Mensagens de Controle da Internet não necessita conectividade com nenhum outro dispositivo para gerar diagnósticos.

Protocolos como o TCP (Protocolo de Controle de Transmissão), UDP (Protocolo de Datagrama de Usuário) e IP (Protocolo de Internet), necessitam dessa conectividade, além de informarem as portas as quais as informações foram enviadas.

Como ele é explorado em ataques DDoS?

Mencionamos que este protocolo pode ser usado em ataques DDoS, como inundação de ICMP, Smurf e também Ping da Morte. Mas como isso acontece?

Inundação de ICMP

O criminoso envia inúmeros pings para o dispositivo da vítima, porém a quantidade é tão grande que não é possível lidar ou responder a todos eles. Dessa forma, o atacante sobrecarrega o dispositivo da vítima, a impossibilitando de utilizá-lo.

Ataque Smurf

O cibercriminoso envia pacotes ICMP para diversos lugares utilizando o IP da vítima. Por conta disso, a vítima recebe inúmeras respostas dos diferentes destinos aos quais os pacotes foram enviados, o que acaba sobrecarregando o dispositivo da vítima.

Ping da Morte

Ao contrário dos anteriores, onde a vítima recebia inúmeros pacotes e respostas ICMP, aqui o criminoso envia um único pacote gigante. Por conta do tamanho elevado, nem a vítima nem o dispositivo conseguem processar e lidar com seu tamanho, fazendo com que ele pare de funcionar.

Entenda mais sobre o Ping da Morte neste artigo.

Como o OpManager Plus te ajuda com protocolos ICMP

O OpManager Plus é uma ferramenta de observabilidade das operações de TI. Isso significa que ele permite que profissionais e organizações possam monitorar diferentes tipos de protocolos, como o ICMP.

Com um dashboard simplificado e intuitivo, com ele é possível rastrear e identificar a perda de pacotes, a causa raiz e também o desempenho de redes.

Experimente o OpManager Plus por 30 dias gratuitamente e descomplique sua TI.

Nota: Encontre a revenda da ManageEngine certa. Entre em contato com a nossa equipe de canais pelo e-mail latam-sales@manageengine.com.
Importante: a ManageEngine não trabalha com distribuidores no Brasil.