Formas de pagamento Abuse

Alterando o TTL no Linux

25.10.2022, 02:28

Estas redes são transmitidas por pacotes. Os pacotes passam por vários outros nós da rede antes de chegarem ao seu destino, para chegarem ao início da rede local do destino e depois diretamente ao destino. Não é raro que esses pacotes se extraviem. Para os encaminhar para o caminho certo na rede, é atribuído a cada pacote um determinado tempo de vida.

O parâmetro TTL é responsável pelo seu tempo de vida. Este é o número de nós que um pacote pode passar antes de ser destruído. Durante a passagem de cada nó, o valor TTL diminui até atingir o valor zero. Quanto maior o TTL, mais complicadas são as redes que o pacote pode atravessar.

Como alterar o TTL no Linux

Os parâmetros de rede TTL de baixo nível no Linux são controlados pelo kernel. Ele pode ser configurado usando a interface de configuração do kernel. Qual TTL o sistema está usando?

Vamos usar o comando ping:

$ ping 127.0.0.1

Alterando o TTL no Linux

No pacote que envia os dados, podemos ver o TTL com o qual o pacote foi enviado. Podemos ver que o valor utilizado é 64. Para o Windows, é utilizado um valor de TTL de 128. Este valor é normalmente suficiente, uma vez que existem pelo menos 20-30 routers entre os nós da rede. Nem sempre vale a pena alterar o TTL para que os pacotes cheguem ao seu destino.

Ajustar os parâmetros

É possível alterar o TTL ajustando o parâmetro net.ipv4.ip_default_ttl.

Tentamos este comando:

$ sudo sysctl -w net.ipv4.ip_default_ttl=65

Para que as alterações persistam após uma reinicialização, pode escrever esta linha de definições no ficheiro /etc/sysctl.conf:

$ sudo vi /etc/sysctl.conf

net.ipv4.ip_default_ttl=65

Depois o TTL será 65:

Alterando o TTL no Linux

Se não quiser alterar as definições do kernel, pode modificar o TTL dos pacotes à medida que estes passam pelo filtro de rede iptables. Para fazer isso, execute um comando como este:

$ iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Isto também funciona. Alterar o TTL do Linux não é nada difícil.