Mokėjimo būdai Abuse

TTL keitimas "Linux" sistemoje

25.10.2022, 02:28

Šie tinklai perduodami paketais. Paketai, prieš pasiekdami paskirties vietą, pereina per kelis kitus tinklo mazgus, kad atsidurtų paskirties vietos tinklo pradžioje, o tada - tiesiai į paskirties vietą. Neretai tokie paketai nuklysta. Siekiant nukreipti juos tinkamu keliu tinkle, kiekvienam paketui suteikiamas tam tikras gyvavimo laikas.

Už jo gyvavimo trukmę atsakingas TTL parametras. Tai yra mazgų, kuriuos paketas gali praeiti prieš sunaikinimą, skaičius. Kiekvienam mazgui praeinant TTL vertė mažėja, kol pasiekia nulinę vertę Kuo didesnis TTL, tuo painesnius tinklus gali pereiti paketas.

Kaip "Linux" sistemoje pakeisti TTL

Žemo lygio TTL tinklo parametrus "Linux" sistemoje valdo branduolys. Jį galima konfigūruoti naudojant branduolio konfigūracijos sąsają. Kokį TTL naudoja sistema?

Pasinaudokime komanda ping:

$ ping 127.0.0.1

TTL keitimas

Siunčiamo paketo duomenyse matome TTL, su kuriuo buvo išsiųstas paketas. Matome, kad naudojama 64 reikšmė. Windows sistemoje naudojama 128 TTL vertė. Paprastai to pakanka, nes tarp tinklo mazgų yra bent 20-30 maršrutizatorių. Ne visada verta keisti TTL, kad paketai galėtų pasiekti savo paskirties vietą.

Parametrų reguliavimas

Pakeisti TTL galima koreguojant parametrą net.ipv4.ip_default_ttl.

Išbandome tokią komandą:

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

Kad pakeitimai išliktų ir po perkrovimo, į /etc/sysctl.conf failą galima įrašyti šią nustatymų eilutę:

$ sudo vi /etc/sysctl.conf

net.ipv4.ip_default_ttl=65

Po TTL bus 65:

TTL keitimas

Jei nenorite keisti branduolio nustatymų, galite keisti TTL paketams, kai jie praeina pro "iptables" tinklo filtrą. Norėdami tai padaryti, paleiskite tokią komandą:

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

Tai taip pat veiks. Pakeisti "Linux" TTL nėra sudėtinga.