Antes de aprendermos sobre o teste de protocolo, vamos entender:
O que é protocolo?
Quando um computador se comunica, existe um conjunto comum de regras e condições que cada computador deve seguir. Em outras palavras, os protocolos determinam como os dados são transmitidos entre os dispositivos de computação e pelas redes.
Teste de protocolo
O Teste de Protocolo é um método de verificação de protocolos de comunicação nos domínios de Switching, Wireless, VoIP, Routing, etc. O objetivo principal do teste de protocolo é verificar a estrutura dos pacotes que são enviados por uma rede usando ferramentas de teste de protocolo. Roteadores e switches são usados durante o teste para formar partes de dispositivos e produtos em teste.
Protocolos de roteamento e roteamento
Os protocolos são classificados em duas categorias de protocolos roteados e protocolos de roteamento
- Protocolos roteados : os protocolos roteados podem ser usados para enviar os dados do usuário de uma rede para outra. Ele carrega o tráfego do usuário como e-mails, tráfego da web, transferência de arquivos, etc. Os protocolos roteados são IP, IPX e AppleTalk.
- Protocolos de roteamento : os protocolos de roteamento são protocolos de rede que determinam rotas para roteadores. Ele é usado apenas entre roteadores. Por exemplo, RIP, IGRP, EIGRP, etc.
Em termos simples, um roteador é como um ônibus usado para transporte, enquanto os protocolos de roteamento são sinais na estrada.
Com base no tipo de comunicação, diferentes protocolos são usados. Empresas como CISCO, JUNIPER, ALCATEL produzem dispositivos de rede como roteadores, modems, pontos de acesso sem fio, etc. que usam protocolos diferentes para comunicação, por exemplo, Cisco usa EIGRP, OSPF, etc. Gateway Routing Protocol) ou OSPF (Open Shortest Path First) ou qualquer outro protocolo está funcionando de acordo com o respectivo padrão.
Tipos de protocolos de computador
Tipos de protocolos | Objetivo dos Protocolos |
---|---|
TCP / IP | É usado para enviar informações em pequenos pacotes pela Internet |
UDP / ICMP | É usado para enviar uma pequena quantidade de informações em pacotes de dados pela internet |
POP3 e SMTP | É usado para enviar e receber correio |
Protocolo de Transferência de Hipertexto | É usado para transferir a página HTML de forma criptografada para fornecer segurança aos dados confidenciais |
FTP | É usado para transportar arquivos em uma rede de um nó para outro |
* TCP / IP - Transmission Control Protocol / Internet protocol, UDP / ICMP - User Datagram Protocol / Internet Control Message Protocol, POP3 / SMTP - Post Office Protocol / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol
Diferentes tipos de protocolos de rede (L2 e L3)
O modelo OSI tem um total de 7 camadas de comunicação de rede, nas quais a camada 2 e a camada 3 são cruciais.
- Camada 2 : é uma camada de enlace de dados. Endereço Mac, Ethernet, Token Ring e Frame Relay são exemplos de camada de enlace de dados.
- Camada 3 : é uma camada de rede que determina o melhor caminho disponível na rede para comunicação. Um endereço IP é um exemplo de layer3.
Como fazer teste de protocolo
- Para o teste de protocolo, você precisa de um analisador e simulador de protocolo
- O analisador de protocolo garante a decodificação adequada junto com a análise de chamadas e sessões. Enquanto o simulador simula várias entidades do elemento de rede
- Normalmente, um teste de protocolo é realizado pelo DUT (dispositivo em teste) para outros dispositivos como switches e roteadores e configurando o protocolo nele
- Depois disso, verificar a estrutura dos pacotes enviados pelos dispositivos
- Ele verifica a escalabilidade, desempenho, algoritmo de protocolo etc. do dispositivo usando ferramentas como lxNetworks, Scapy e Wireshark
Tipos de teste para teste de protocolo
O teste de protocolo inclui o teste de funcionalidade, desempenho, pilha de protocolo, interoperabilidade, etc. Durante o teste de protocolo, basicamente, três verificações são feitas.
- Correção : Recebemos o pacote X quando esperávamos
- Latência : quanto tempo um pacote leva para transitar pelo sistema
- Largura de banda : quantos pacotes podemos enviar por segundo
O teste de protocolo pode ser segregado em duas categorias. Testes de Estresse e Confiabilidade e Testes Funcionais. Os testes de estresse e confiabilidade cobrem teste de carga, teste de estresse, teste de desempenho, etc. Enquanto o teste funcional inclui teste negativo, teste de conformidade, teste de interoperabilidade, etc.
- Teste de conformidade : os protocolos implementados nos produtos são testados quanto à aderência, como IEEE, RFC etc.
- Teste de interoperabilidade : A interoperabilidade para diferentes fornecedores é testada. Este teste é feito após o teste de conformidade ser feito na plataforma apropriada
- Teste de recursos de rede : os recursos dos produtos de rede são testados quanto à funcionalidade com referência ao documento de design. Por exemplo, os recursos podem ser segurança de porta em um switch, ACL em um roteador etc.
Casos de teste de amostra para teste de protocolo de dispositivos de rede
Aqui está o exemplo de caso de teste para roteadores
Nome de teste | Casos de teste |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ferramentas para teste de protocolo
Vamos discutir as ferramentas de teste mais importantes usadas para verificar protocolos
Scapy For Packet Crafting
Scapy é um poderoso programa interativo de manipulação de pacotes. Isso permite que você
- Crie pacotes
- Decodificar pacotes na rede
- Capture pacotes e analise-os
- Injetar pacotes na rede
Basicamente, o scapy faz duas coisas: recebe respostas e envia pacotes . Você define os pacotes, ele os envia, recebe respostas, combina solicitações com respostas e retorna uma lista de pares de pacotes e uma lista de pacotes não correspondidos.
Ele também pode lidar com outras coisas, como roteamento de rastreamento, testes de unidade, ataques ou descoberta de rede, desenvolvimento de novos protocolos, sondagem, etc.
Scapy nos permite escrever um script Python que nos permite realizar uma tarefa como enviar e receber pacotes ou farejar pacotes. Por exemplo, o scapy pode farejar o pacote de dados usando um script Python. O comando para abrir o getdit inserido no editor
#gedit scapysniff.py#! / usr / bin / env pythonde scapy.all import *a = sniff (contagem = 10)a.nsummary ()salvar e alterar o modo do arquivo para um formato executável# chmod + x scapysniff.py# ./scaotsbuff.py
Ele irá farejar 10 pacotes e assim que tiver farejado 10 pacotes irá imprimir o resumo. Scapy também como uma matriz de comando para enviar e receber pacotes ao mesmo tempo
Baixar Scapy
Ferramentas Wireshark para análise
Ferramentas usadas para teste de protocolo - Wireshark. Ele permite capturar pacotes em tempo real e exibi-los de forma legível. Ele permite que você explore profundamente o tráfego da rede e inspecione pacotes individuais usando codificação de cores e filtros.
O Wireshark captura pacotes que ajudam a determinar quando a sessão está sendo estabelecida, quando a viagem de dados exata foi iniciada e quantos dados são enviados a cada vez, etc.
O Wireshark tem um conjunto de recursos avançados que inclui
- Uma inspeção completa de centenas de protocolos, mais sendo adicionados o tempo todo
- Captura ao vivo e análise offline
- Análise avançada de VoIP
- Navegador padrão com três painéis
- Funciona em várias plataformas, como Windows, Linux, OSX e assim por diante
- Os dados de rede capturados podem ser navegados por meio de uma GUI
- A descriptografia oferece suporte a muitos protocolos como IPsec, ISAKMP, SSL / TLS
- Os dados ao vivo podem ser lidos de Ethernet, ATM, Bluetooth, USB, token etc.
- A saída pode ser exportada para CSV, XML, texto simples, etc.
Baixe o Wireshark
TTCN
TCCN é uma linguagem de teste padrão para definir o cenário de teste e sua implementação para teste de protocolo. Um conjunto de testes TCCN contém muitos casos de teste escritos na linguagem de programação TTCN e é usado para testar sistemas reativos ou testes comportamentais .
Por exemplo, uma máquina de venda automática de café que oferece café ao inserir uma moeda de um dólar, mas não responde se nada menos que um dólar for inserido nela. Para programar tais máquinas, utiliza-se a linguagem TCCN3. Para fazer com que a máquina de café responda ao inserir uma moeda, temos que escrever o componente TCCN-3 que se comporta como uma máquina de café. Ele nos permite fazer nosso teste antes que uma máquina de café real esteja disponível como produto. Uma vez feito isso, conectaremos o conjunto de testes TCCN3 com o dispositivo externo.
O sistema de teste emite estímulos (moeda de um dólar) e recebe respostas (café). O adaptador de estímulos obtém estímulos do sistema de teste e os passa para o sistema em teste. O adaptador de resposta espera por respostas do sistema em teste e as passa para o sistema de teste.
TCCN3 pode ser usado em vários campos, como
- Comunicações móveis (LTE, WiMAX, 3G etc)
- Tecnologias de banda larga (ATM, DSL)
- Plataformas de middleware (Webservices, CORBA etc)
- Protocolo de Internet (SIP, IMS, IPv6)
- Cartões inteligentes
- Automotivo (AutoSAR, MOST, CAN)
Na TCCN podemos definir
- Suites de teste
- Casos de teste
- Etapas de teste
- Declarar Variáveis
- Declare Timers
- Crie PDUs etc.
O TCCN pode ser integrado com tipos de sistemas de outras linguagens como ASN.1, XML, C / C ++. A linguagem principal do TCCN3 existe em formato de texto, além de outros formatos como tabular, gráfico e apresentação.