-
O campo de comprimento do cabeçalho IPv4 é interpretado como múltiplos de 4 octetos. Os cabeçalhos IPv4 são quase sempre de 20 octetos de comprimento, portanto, o valor desse campo é quase sempre de 5.
-
Não, os bits TOS / DiffServ e o ponteiro urgente geralmente não são importantes.
-
Este campo procura um valor, não um comprimento. Quando você digitou 0x12 ou 0x08 ou 0x00 pensando que estava digitando um comprimento, você estava inserindo um único valor de octeto. 1 mod 8! = 0. Eu estou supondo que o pacote que você estava tentando imitar tivesse um valor de Timestamp TCP de 12 octetos lá. Observe também que a opção TCP Timestamp precisa estar alinhada em um limite de 4 bytes de ... o início dos cabeçalhos TCP, se bem me lembro ..., então talvez seja necessário colocar um octeto de um só 0x00 "Nop" / Opções opcionais de TCP também, dependendo de como as coisas se alinham.