Considera lo siguiente ...
Alice y Bob se están comunicando a través de TCP. Actualmente, el próximo número de secuencia de TCP esperado es 1000. Charlie, que se hace pasar por Alicia, envía un paquete TCP falsificado a Bob con un número de secuencia de 1003. La computadora de Bob se aferra a este paquete pensando que llegó fuera de lugar. Mientras tanto, Alice continúa enviando paquetes a Bob, secuenciados como 1000, 1001 y 1002. Ahora, la computadora de Bob procesa el paquete TCP falsificado pensando que es el siguiente en secuencia.
En este escenario, asumiendo que mi entendimiento es correcto, parece que el atacante no necesita predecir exactamente el siguiente número de secuencia, sino que solo necesita adivinar el número de secuencia que es mayor o igual a la secuencia actual , pero también lo suficientemente cerca del número de secuencia para que no caduque ... seguramente no se quedará con el paquete fuera de orden para siempre.
Esto plantea las siguientes preguntas ...
1) ¿Mi comprensión del escenario que describí es correcta?
2) ¿Qué determina cuánto tiempo se debe conservar un paquete fuera de orden, mientras espera los paquetes enviados anteriormente?
3) ¿Qué pasaría con la sesión TCP cuando Alice finalmente envíe un paquete con la secuencia TCP 1003, dado que el paquete falsificado de Charlie ya se procesó?