Cluster de protocolo: análise ICMP

1. Introdução

ICMP é a abreviação de Internet Control Message Protocol (Protocolo de mensagens de controle da Internet), usado principalmente para depurar problemas no ambiente de comunicação da rede.

Por exemplo, quando os pacotes IP nem sempre podem ser enviados para o endereço de destino normalmente, quando o gateway não possui buffers suficientes para encaminhar os pacotes correspondentes, etc.

Vale ressaltar que ele pertence à camada de rede, não à camada de transporte, ou seja, está no mesmo nível do protocolo IP, mas não no mesmo nível do TCP / UDP.

Formato da mensagem

protocolo ICMP de dados de transmissão usando o protocolo IP de dados específico é algumas das disposições de pacotes ICMP, nós então introduzido um por um ....
Formato do cabeçalho IP
Porque o formato ICMP IP e o mesmo, aqui nos referimos brevemente para cada um dos seguintes campos em detalhe. Protocolo de pilha: IPv4 Detalhado

Vários campos que precisam de atenção especial e seus valores:

  1. Versão: 4
  2. Tipo de serviço: 0
  3. Protocolo: ICMP = 1

A seguir, vamos dar uma olhada em exemplos comuns de mensagens ICMP

Mensagem inacessível de destino

Formato de mensagem inacessível do destino
O significado e o valor de cada campo:

  1. Tipo: 3
  2. Código:
    0 = rede inacessível
    1 = host inacessível
    2 = protocolo inacessível
    3 = porta inacessível
    4 = fragmentação necessária e conjunto de DF
    5 = falha na rota de origem
  3. Soma de verificação: Soma de verificação
  4. Cabeçalho da Internet + 64 bits de datagrama de dados: este campo armazena a solicitação ICMP original para corresponder a mensagem ICMP atual à mensagem de solicitação.

Descrição do produto

  1. Quando se deduz que o endereço de rede está inacessível de acordo com a tabela de derramamento de óleo do gateway, o gateway pode retornar essa mensagem ICMP.
  2. O terminal de destino recebeu um pacote de dados IP, mas o pacote de dados não pôde ser transmitido para a porta correspondente normalmente (a porta pode não estar ativada) .O terminal de destino pode retornar esta mensagem ICMP
  3. Quando o pacote de dados deve ser fragmentado antes de poder ser enviado ao destino normalmente, o pacote de dados atual é definido com o sinalizador Não fragmentar. Nesse momento, o gateway pode retornar essa mensagem ICMP.

Exemplos

Eu uso o comando ping 192.168.1.44 na minha máquina para obter o pacote de mensagens inacessíveis do destino.Aqui analisamos o seguinte
Insira a descrição da imagem aqui

  1. Primeiro, preste atenção ao conteúdo dos principais dados do protocolo IP.O valor do campo Protocolo é 1, indicando que o pacote de dados atual é uma mensagem ICMP. O endereço de destino e o endereço de origem são os mesmos, indicando que o endereço 192.168.1.44 não pode ser resolvido na minha tabela de roteamento local.
  2. Em seguida é uma mensagem ICMP. Esta mensagem é transportada no pacote de dados do protocolo IP como o campo Dados do protocolo IP.
  3. O tipo de mensagem ICMP é 3, que é exatamente a mensagem inacessível ao destino
  4. O código é 1, indicando que o host está inacessível
  5. O campo Internet Header + 64 bits do Data Datagram contém o pacote IP da solicitação ICMP que enviamos.Para os endereços de origem e destino desse pacote IP, eu sei que é 192.168.1.35 localmente e executei ping no host 192.168.1.44. Quanto a essa solicitação do ICMP, não a analisaremos primeiro e depois.

Mensagem de tempo excedido

Seu formato de pacote é o mesmo que a mensagem inacessível de destino, por isso não vou entrar em detalhes aqui.

O significado e o valor de cada campo:

  1. Tipo: 11
  2. Código:
    0 = tempo de vida excedido em trânsito
    1 = tempo de remontagem do fragmento excedido

Descrição do produto

  1. O protocolo IP estipula que, quando o valor do campo TimeToLive diminuir para 0 durante a transmissão de um pacote, o pacote deverá ser descartado .. Ao mesmo tempo, o gateway que eliminou o pacote pode enviar essa mensagem ICMP ao host de origem para notificar o O pacote está descartado.
  2. Quando o destino recebe o pacote fragmentado, mas devido à perda de alguns fragmentos, a remontagem do pacote não pode ser concluída dentro do tempo especificado, então o pacote será descartado. Mensagem ICMP para informar que o pacote foi descartado.

Exemplos

O autor usou o comando ping -i 2 baidu.com para capturar esse tipo de pacote ICMP Aqui, omitimos a parte repetida no artigo anterior e colamos diretamente as informações relevantes do pacote ICMP.
Insira a descrição da imagem aqui

  1. Observe aqui que o valor do campo Tempo de vida no cabeçalho IP é 1, e não 0. O palpite é que o nó intermediário que processa o pacote descobriu que não é o endereço de destino do pacote, e o tempo de vida já é 1 Depois de reduzir o valor em 1 após o processamento, o tempo de vida do pacote é 0; portanto, o nó nos enviou uma mensagem de tempo excedido.

Mensagem de Problema do Parâmetro

Insira a descrição da imagem aqui
O significado e o valor de cada campo:

  1. Tipo : 12
  2. Código:
    0 = ponteiro indica o erro
  3. Ponteiro: Quando o código == 0, este campo indica a localização do byte com erro.

Descrição do produto

Quando o gateway ou o host de destino não puder analisar esse pacote corretamente de acordo com o cabeçalho IP, ele descartará o pacote e enviará esta mensagem ICMP.

A possível causa desse problema é o uso incorreto da opção.

Mensagem de Quench de Origem

Seu formato de pacote é o mesmo que a mensagem inacessível de destino, por isso não vou entrar em detalhes aqui.

O significado e o valor de cada campo:

  1. Tipo: 4
  2. Código: 0

Descrição do produto

Quando o gerenciamento de rede ou o host de destino não possui buffer suficiente para processar o pacote de dados correspondente, ele descarta o pacote de dados e envia esta mensagem ICMP

Redirecionar mensagem

Insira a descrição da imagem aqui
O significado e o valor de cada campo:

  1. Tipo: 5
  2. Código:
    0 = Redirecionar datagramas para a rede
    1 = Redirecionar datagramas para o host
    2 = Redirecionar datagramas para o tipo de serviço e Rede
    3 = Redirecionar datagramas para o tipo de serviço e host
  3. Endereço da Internet do gateway: Este campo indica que todos os pacotes enviados ao host de destino atual devem ser enviados ao gateway especificado pelo Endereço da Internet do gateway

Descrição do produto

Essa mensagem ICMP será enviada nas seguintes circunstâncias:
suponha que o gateway G1 receba um pacote de dados de um host ou gateway conectado, G1 verifique sua tabela de roteamento para descobrir que o pacote de dados deve ser encaminhado para o gateway G2 e, em seguida, G2 continua encaminhando Até que o pacote chegue ao host X. Mas se G2 e o endereço de origem do pacote estiverem na mesma rede, o G1 enviará essa mensagem ICMP para sugerir que o host de origem enviará todos os pacotes enviados ao X diretamente para o G2, Dessa forma, o comprimento da rota é o mais curto e a velocidade de transmissão de dados é mais rápida.

Mensagem de resposta de eco ou eco

Insira a descrição da imagem aqui
O significado e o valor de cada campo:

  1. Tipo:
    8 = Mensagem de eco
    0 = Mensagem de resposta de eco
  2. Código: 0
  3. Identificador e número de sequência: quando o código = 0, use o identificador e o número de sequência para ajudar a mapear a mensagem de eco e a mensagem de resposta de eco

Descrição do produto

Como vimos anteriormente, quando recebemos uma resposta ICMP, o pacote ICMP de resposta conterá a mensagem de eco correspondente.

Exemplos

A seguir, é mostrada a estrutura de uma mensagem de eco: A estrutura
Insira a descrição da imagem aqui
da mensagem de resposta de eco correspondente é
Insira a descrição da imagem aqui
digna de nota: Os campos identificador e número de sequência nas mensagens de eco e de resposta são iguais. Dessa forma, sabemos que os dois pacotes são mutuamente Correspondência.

E recebemos a mensagem de resposta de eco, que prova que nosso link para o host de destino correspondente está funcionando.

Timestamp ou Timestamp Responder Mensagem

Insira a descrição da imagem aqui
O significado e o valor de cada campo:

  1. Tipo:
    13 = Mensagem do carimbo de data / hora
    14 = Mensagem de resposta do carimbo de data / hora
  2. Código: 0
  3. Identificador 和 número da sequência: 同 Mensagem de eco 和 Mensagem de resposta de eco.
  4. Registro de data e hora de origem: o remetente enviou o último registro de data e hora para modificar este pacote
  5. Receber carimbo de data / hora: o carimbo de data / hora em que o receptor recebe este pacote
  6. Transmitir carimbo de data / hora: O receptor modificou pela última vez o carimbo de data e hora deste pacote

Solicitação de informações ou mensagem de resposta às informações

Insira a descrição da imagem aqui

O significado e o valor de cada campo:

  1. Tipo:
    15 = Mensagem de Solicitação de Informações
    16 = Mensagem de Resposta de Informações
  2. Código: 0
  3. Identificador 和 número da sequência: 同 Mensagem de eco 和 Mensagem de resposta de eco.

Descrição do produto

O campo de endereço de destino não é preenchido quando este pacote é enviado e o destinatário preenche suas informações de endereço na mensagem de resposta.

O uso deste pacote pode ser usado para descobrir todas as informações de endereço do host na rede atual.

FIM!

Publicado 27 artigos originais · elogiado 31 · 40.000+ visualizações

Acho que você gosta

Origin blog.csdn.net/zhaoruixiang1111/article/details/104872177
Recomendado
Clasificación