A fórmula é fornecida na Wikipedia - link
- permite que t seja um registro de data e hora de incremento lento (geralmente
time()
logicamente deslocados para 6 posições, o que dá uma resolução de 64 segundos) - permite que m seja o valor do tamanho máximo do segmento (MSS) que o servidor teria armazenado na entrada da fila SYN
- permite que s seja o resultado de uma função hash criptográfica computada sobre o endereço IP do servidor e o número da porta, o endereço IP do cliente e o número da porta e o valor t . O valor retornado s deve ser um valor de 24 bits.
O nero de sequcia inicial do TCP, isto o cookie SYN, calculado da seguinte forma:
- Primeiros 5 bits: t mod 32
- Próximos 3 bits: um valor codificado representando m
- Final de 24 bits: s
Apenas a Microsoft sabe ao certo se é assim que o Windows implementa SYN Cookies, porque é de código fechado, mas para interoperabilidade com outros sistemas operacionais, faria sentido seguir esta fórmula.
Você pode ver uma implementação de cookies SYN em net / ipv4 / syncookies.c no Linux.