Pergunta

Tive uma discussão com um desenvolvedor hoje sobre a identificação de pacotes TCP saindo em uma interface específica com a mesma carga útil.Ele me disse que a probabilidade de encontrar um pacote TCP que tenha uma carga útil igual (mesmo que os mesmos dados sejam enviados várias vezes) é muito baixa devido à forma como os pacotes TCP são construídos no nível do sistema.Eu estava ciente de que esse poderia ser o caso devido às configurações de MTU do sistema (geralmente 1.500 bytes), etc., mas que tipo de estatísticas de probabilidade estou realmente observando?Existem protocolos específicos que facilitariam a identificação de cargas correspondentes?

Foi útil?

Solução

EDIT: Desculpe, minha idéia original era ridículo.

Você me interessou, então eu pesquisei um pouco e encontrou este . Se você queria escrever sua própria ferramenta que você provavelmente teria que inspecionar cada carga útil, a maneira mais fácil seria provavelmente algum tipo de haxixe / soma de verificação para verificar se há cargas idênticas. Apenas certifique-se que está a verificar a carga, não o todo pacote.

Como para as estatísticas vou ter que adiar a alguém com maior conhecimento sobre o funcionamento do TCP.

Outras dicas

É o protocolo rodando sobre TCP que define a singularidade da carga útil, não o próprio protocolo TCP.

Por exemplo, você pode ingenuamente pensar que solicitações HTTP tudo seria idêntico ao pedir home page de um servidor, mas os indicadores de origem e de usuário cadeias de agente de fazer as cargas diferente.

Se a resposta é gerado dinamicamente, ele pode ter um cabeçalho de data:

Date: Fri, 12 de setembro de 2008 10:44:27 GMT

Assim que irá processar as cargas de resposta diferente. No entanto, cargas úteis subsequentes podem ser idênticos, se o conteúdo é estático.

Tenha em mente que os pacotes reais será diferente por causa da seqüência de números diferentes, que deveriam ser incrementar e pseudo-aleatórios.

Chris está certo. Mais especificamente, duas ou três peças de informação no cabeçalho do pacote deve ser diferente:

  • o número de sequência (que é destina-se a ser imprevisível) que é aumenta com o número de bytes transmitidos e recebidos.
  • o timestamp, um campo contendo dois timestamps (embora este campo é opcional).
  • a soma de verificação, uma vez que tanto a carga útil e cabeçalho são checksummed, incluindo o número de seqüência mudando.

O envio do mesmo PAYLOAD é provavelmente bastante comum (especialmente se você estiver executando algum tipo de serviço de rede). Se você quer dizer enviar o segmento mesma tcp (cabeçalho e todos) ou todo o pacote de rede (ip e para cima), então a probabilidade é substancialmente reduzido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top