Con objeto puramente didáctico adjunto un ejemplo donde el
proceso AvastUI.exe (antivirus) realiza una consulta a su.ff.avast.com (Streaming
updates server) con el objeto de comprobar si existen actualizaciones.
Lo primero que hace el proceso es realizar una consulta al servidor dns
con el objeto de obtener la IP del webservice que necesita.
El proceso consultara
la cache local DNS y si no encuentra respuesta o esta es errónea el programa de nivel aplicación DNS lanzará la
consulta que se encapsula en un segmento
UDP del nivel de transporte. Podemos consultar la cache DNS de nuestro equipo con el comando
ipconfig /displaydns.
En la trama 1 vemos la petición
y en la trama 2 vemos la respuesta
Si nos fijamos en el detalle en hexadecimal podemos ver que el calculo de la IP es correcto.
4d -> 64 + 13 = 77
ea -> 224 + 10 = 234
29 -> 32 + 9 = 41
41 -> 64 + 1 = 65
Una vez obtenemos la dirección IP se procede a establecer la
comunicación.
En el segmento de la trama 3 vemos que el flag SYN está
activo. El cliente inicia el establecimiento de la conexión. En el segmento de la trama 4 vemos que el flag SYN + ACK.
Esto permite confirmar al cliente que el servidor ha recibido la petición de la
trama anterior y a su vez el servidor realiza una petición de conexión con el
cliente. En el segmento de la trama 5 vemos el flag ACK donde el
cliente confirma al servidor ha recibido la petición de la trama anterior y la
transmisión de datos puede comenzar
En la trama 6 vemos como el protocolo de nivel de aplicación HTTP realiza la consulta al servidor
Un forma sencilla de seguir los pasos de la conexión podría
ser comprobando en la zona de detalles de paquetes la opción [SEQ/ACK analysis], en este ejemplo se ve claramente que esta trama de confirmacion de recepcion de la trama nº6
Culex.