O handshake, eh o procedimento preludio, onde atraves de 3 vias, se pode efetuar o inicio de qualquer conexao na internet! Vejamos o diagrama abaixo, onde o host A irah tentar abrir uma conexao com o host B:
--------------------------------------------------------------------------------
| Host A | -------- SYN -------- > | Host B |
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
| Host A | < -----SYN+ACK -------- | Host B |
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
| Host A | -------- ACK -------- > | Host B |
--------------------------------------------------------------------------------
O host A solicita conexao atraves do envio de um pacote com o bit SYN ativado! Em seguida, o host B responde a solicitacao do Host A enviando um pacote com os bits SYN+ACK ativados! Por fim, para terminar o handshake, o Host A envia um pacote contendo o bit ACK ativado para o Host B, a partir de entao, as duas maquinas estarao conectadas e podem trocar dados entre si!
Abaixando um pouco mais o nivel, para os que desejam praticar Blind Spoof, Podemos analisar outro diagrama do handshake abaixo:
Host A Host B