O que acontece com os pacotes tcp quando eles não conseguem concluir o handshake de 3 vias?

4

Firewall para um servidor virtual dedicado.
Eu estava procurando como evitar um scan FIN e isso me fez pensar sobre as conseqüências. Muitas pessoas estão usando essa regra:

-p tcp -tcp-flags FIN, SYN, RST, PSH, ACK, URG FIN -j DROP

Então, quando alguém me envia um pacote com FIN = 1, não consigo enviar FIN / ACK de volta.
Parece improvável, mas isso significa que minha conexão estabelecida não será interrompida?
Como isso funciona ? Minha conexão continua viva e, em caso afirmativo, por quanto tempo?

Como isso realmente funciona quando alguém fecha seu navegador? Ele envia um FIN para meu servidor, meu servidor responde com FIN / ACK ... mas o navegador não consegue receber isso, certo? Quem pega o pacote, para onde vai?

E se ... uma máquina remota enviar para o meu servidor um SYN, minha resposta é SYN / ACK e digamos que não estou recebendo o ACK de volta, quanto tempo o servidor está esperando por ele?

Existe um nome para os apertos de mão inacabados de 3 vias? Obrigado.

    
por Kris 02.04.2012 / 01:32

1 resposta

9

Is there a name for unfinished 3 way handshakes

Isso é chamado de conexão semiaberta .

So when someone sends me a packet with a FIN = 1 , I'm unable to send FIN/ACK back. It seems unlikely but does that mean my established connection won't be stopped? How does that work ? Does my connection stay alive and if so, for how long?

Eventualmente, o tempo limite. Veja também o estado TIME_WAIT.

por 02.04.2012 / 01:54