My TTL changing over every packetand I don't know why

Recently I discovered that some pings sent to me were giving a TTL error. When someone pings my computer, it shows a different TTL value for every packet.

For example, ping.eu shows that:

--- PING 78.188.216.242 (78.188.216.242) 56(84) bytes of data. ---
64 bytes from 78.188.216.242: icmp_req=1 ttl=112 time=78.7 ms
64 bytes from 78.188.216.242: icmp_req=2 ttl=17 time=78.8 ms
64 bytes from 78.188.216.242: icmp_req=3 ttl=206 time=78.7 ms
64 bytes from 78.188.216.242: icmp_req=4 ttl=212 time=78.7 ms

--- 78.188.216.242 ping statistics ---
packets transmitted  4 
received  4 
packet loss  0 % 
time  3002 ms 

--- Round Trip Time (rtt) ---
min  78.734 ms 
avg  78.782 ms 
max  78.861 ms 
mdev  0.050 ms 

(And sometimes I see request timed out and TTL expired errors as well.)

As you can see, every packet has a different TTL value. Is that a problem? If it is, is it caused by my network configuration, or is it caused by my ISP? And what can I do in this situation?

If it matters, I use a WRT54GH home router with ZyXEL ADLS bridge modem, connecting three Windows computers. You can try to ping me at my IP address, 78.188.216.242.


Solution 1:

I got similar results pinging your IP address from the US.

When I pinged 81.212.77.58, the next hop upstream from you, which I presume is your ISP's equipment, I got back a TTL of 243 every time. This is obviously wrong.

The next hop upstream from that acted reasonably, with a TTL of 54 every time.

My strong suspicion based on these results is that your ISP is mangling the packets.

Solution 2:

Providing your not pinging yourself the TTLs that come back are the TTL values of the received ping packet. There is little you can do to manipulate that.