Antes de aprender sobre las pruebas de protocolo, comprendamos:
¿Qué es el protocolo?
Cuando una computadora se comunica entre sí, existe un conjunto común de reglas y condiciones que cada computadora debe seguir. En otras palabras, los protocolos determinan cómo se transmiten los datos entre dispositivos informáticos y redes.
Prueba de protocolo
La prueba de protocolo es un método para verificar protocolos de comunicación en los dominios de conmutación, conexión inalámbrica, VoIP, enrutamiento, etc. El objetivo principal de la prueba de protocolo es verificar la estructura de los paquetes que se envían a través de una red utilizando herramientas de prueba de protocolo. Los enrutadores e interruptores se utilizan durante la prueba para formar partes de dispositivos y productos bajo prueba.
Protocolos de enrutamiento y enrutamiento
Los protocolos se clasifican en dos categorías: protocolos enrutados y protocolos de enrutamiento
- Protocolos enrutados : los protocolos enrutados se pueden utilizar para enviar los datos del usuario de una red a otra. Transporta tráfico de usuarios como correos electrónicos, tráfico web, transferencias de archivos, etc. Los protocolos enrutados son IP, IPX y AppleTalk.
- Protocolos de enrutamiento : los protocolos de enrutamiento son protocolos de red que determinan las rutas para los enrutadores. Solo se usa entre enrutadores. Por ejemplo, RIP, IGRP, EIGRP, etc.
En términos simples, un enrutador es como un autobús utilizado para el transporte, mientras que los protocolos de enrutamiento son señales en la carretera.
Según el tipo de comunicación se utilizan diferentes protocolos. Empresas como CISCO, JUNIPER, ALCATEL producen dispositivos de red como enrutadores, módems, puntos de acceso inalámbricos, etc. que usan diferentes protocolos para la comunicación, por ejemplo, Cisco usa EIGRP, OSPF, etc. Las pruebas de protocolo no son más que verificar si EIGRP (Enhanced Interior Gateway Routing Protocol) u OSPF (Open Shortest Path First) o cualquier otro protocolo funciona según el estándar respectivo.
Tipos de protocolos informáticos
Tipos de protocolos | Propósito de los protocolos |
---|---|
TCP / IP | Se utiliza para enviar información en pequeños paquetes a través de Internet. |
UDP / ICMP | Se utiliza para enviar una pequeña cantidad de información en paquetes de datos a través de Internet. |
POP3 y SMTP | Se utiliza para enviar y recibir correo. |
Protocolo de Transferencia de Hipertexto | Se utiliza para transferir páginas HTML en forma encriptada para brindar seguridad a los datos confidenciales. |
FTP | Se utiliza para transportar archivos a través de una red de un nodo a otro. |
* TCP / IP - Protocolo de control de transmisión / Protocolo de Internet, UDP / ICMP - Protocolo de datagramas de usuario / Protocolo de mensajes de control de Internet, POP3 / SMTP - Protocolo de oficina postal / Protocolo simple de transferencia de correo, HTTP - Protocolo de transferencia de hipertexto, FTP - Protocolo de transferencia de archivos
Diferentes tipos de protocolos de red (L2 y L3)
El modelo OSI tiene un total de 7 capas de comunicación de red, en las que la capa 2 y la capa 3 son muy cruciales.
- Capa 2 : es una capa de enlace de datos. La dirección Mac, Ethernet, Token Ring y Frame Relay son ejemplos de la capa de enlace de datos.
- Capa 3 : Es una capa de red que determina la mejor ruta disponible en la red para la comunicación. Una dirección IP es un ejemplo de layer3.
Cómo hacer pruebas de protocolo
- Para las pruebas de protocolos, necesita un analizador y un simulador de protocolos.
- El analizador de protocolos garantiza una decodificación adecuada junto con el análisis de llamadas y sesiones. Mientras que el simulador simula varias entidades del elemento de red
- Por lo general, DUT (dispositivo bajo prueba) lleva a cabo una prueba de protocolo a otros dispositivos como conmutadores y enrutadores y configura el protocolo en él.
- Posteriormente, verificar la estructura de los paquetes enviados por los dispositivos.
- Comprueba la escalabilidad, el rendimiento, el algoritmo de protocolo, etc. del dispositivo mediante el uso de herramientas como lxNetworks, Scapy y Wireshark.
Tipos de prueba para pruebas de protocolo
Las pruebas de protocolo incluyen pruebas de funcionalidad, rendimiento, pila de protocolos, interoperabilidad, etc. Durante las pruebas de protocolo, básicamente, se realizan tres comprobaciones.
- Corrección : ¿Recibimos el paquete X cuando esperábamos?
- Latencia : cuánto tiempo tarda un paquete en transitar por el sistema
- Ancho de banda : cuántos paquetes podemos enviar por segundo
Las pruebas de protocolo se pueden segregar en dos categorías. Pruebas de estrés y confiabilidad y pruebas funcionales. Las pruebas de estrés y confiabilidad cubren pruebas de carga, pruebas de estrés, pruebas de rendimiento, etc., mientras que las pruebas funcionales incluyen pruebas negativas, pruebas de conformidad, pruebas de interoperabilidad, etc.
- Pruebas de conformidad : los protocolos implementados en los productos se prueban para verificar su adherencia como IEEE, RFC, etc.
- Prueba de interoperabilidad : se prueba la interoperabilidad para diferentes proveedores. Esta prueba se realiza después de realizar la prueba de conformidad en la plataforma adecuada.
- Prueba de características de red : las características de los productos de red se prueban para su funcionalidad con referencia al documento de diseño. Por ejemplo, las funciones pueden ser seguridad de puerto en un conmutador, ACL en un enrutador, etc.
Ejemplos de casos de prueba para pruebas de protocolo de dispositivos de red
Aquí está el caso de prueba de muestra para enrutadores
Nombre de la prueba | Casos de prueba |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Herramientas para pruebas de protocolo
Analicemos las herramientas de prueba más importantes que se utilizan para verificar los protocolos.
Scapy para la elaboración de paquetes
Scapy es un poderoso programa interactivo de manipulación de paquetes. Te permite
- Crea paquetes
- Decodificar paquetes en la red
- Capture paquetes y analícelos
- Inyectar paquetes en la red
Básicamente, scapy hace principalmente dos cosas: recibir respuestas y enviar paquetes . Usted define los paquetes, los envía, recibe respuestas, empareja solicitudes con respuestas y devuelve una lista de pares de paquetes y una lista de paquetes no coincidentes.
También puede manejar otras cosas, como el enrutamiento de rastreo, pruebas unitarias, ataques o descubrimiento de redes, desarrollo de nuevos protocolos, sondeos, etc.
Scapy nos permite escribir un script Python que nos permite realizar una tarea como enviar y recibir paquetes o rastrear paquetes. Por ejemplo, scapy puede olfatear el paquete de datos usando un script de Python. El comando para abrir el getdit ingresado en el editor
#gedit scapysniff.py#! / usr / bin / env pythondesde scapy.all import *a = olfatear (contar = 10)un resumen ()guardar y cambiar el modo del archivo a un formato ejecutable# chmod + x scapysniff.py# ./scaotsbuff.py
Olerá 10 paquetes y tan pronto como haya olfateado 10 paquetes imprimirá el resumen. Scapy también como una matriz de comando para enviar y recibir paquetes al mismo tiempo
Descarga Scapy
Herramientas de Wireshark para análisis
Herramientas utilizadas para las pruebas de protocolo: Wireshark. Permite capturar paquetes en tiempo real y mostrarlos en forma legible por humanos. Le permite profundizar en el tráfico de la red e inspeccionar paquetes individuales mediante codificación de colores y filtros.
Wireshark captura paquetes que ayudan a determinar cuándo se establece la sesión, cuándo se inició el viaje de datos exactos y cuántos datos se envían cada vez, etc.
Wireshark tiene un conjunto de características enriquecidas que incluye
- Una inspección exhaustiva de cientos de protocolos, que se añaden más todo el tiempo
- Captura en vivo y análisis fuera de línea
- Análisis completo de VoIP
- Navegador estándar de tres paneles
- Se ejecuta en plataformas múltiples como Windows, Linux, OSX, etc.
- Los datos de red capturados se pueden navegar a través de una GUI
- El descifrado admite muchos protocolos como IPsec, ISAKMP, SSL / TLS
- Los datos en vivo se pueden leer desde Ethernet, ATM, Bluetooth, USB, token, etc.
- La salida se puede exportar a CSV, XML, texto sin formato, etc.
Descarga Wireshark
TTCN
TCCN es un lenguaje de prueba estándar para definir el escenario de prueba y su implementación para pruebas de protocolo. Un conjunto de pruebas de TCCN contiene muchos casos de prueba escritos en el lenguaje de programación TTCN y se utiliza para probar sistemas reactivos o pruebas de comportamiento .
Por ejemplo, una máquina expendedora de café que le da café al insertar una moneda de un dólar, pero no responde si se inserta algo menos de un dólar. Para programar tales máquinas se utiliza el lenguaje TCCN3. Para que la máquina de café responda al insertar una moneda, tenemos que escribir el componente TCCN-3 que se comporta como una máquina de café. Nos permite ejecutar nuestra prueba antes de que una máquina de café real esté disponible como producto. Una vez hecho esto, conectaremos la suite de pruebas TCCN3 con el dispositivo externo.
El sistema de prueba emite estímulos (moneda de un dólar) y recibe respuestas (café). El adaptador de estímulos obtiene los estímulos del sistema de prueba y los pasa al sistema bajo prueba. El adaptador de respuesta espera las respuestas del sistema bajo prueba y las pasa al sistema de prueba.
TCCN3 se puede utilizar en varios campos como
- Comunicaciones móviles (LTE, WiMAX, 3G, etc.)
- Tecnologías de banda ancha (ATM, DSL)
- Plataformas de middleware (servicios web, CORBA, etc.)
- Protocolo de Internet (SIP, IMS, IPv6)
- Tarjetas inteligentes
- Automotriz (AutoSAR, MOST, CAN)
En TCCN podemos definir
- Suites de prueba
- Casos de prueba
- Pasos de prueba
- Declarar variables
- Declarar temporizadores
- Cree PDU, etc.
TCCN se puede integrar con tipos de sistemas de otros lenguajes como ASN.1, XML, C / C ++. El lenguaje principal de TCCN3 existe en formato de texto además de otros formatos como tabular, gráfico y presentación.