Hacker News new | past | comments | ask | show | jobs | submit login

You are better off using traceroute to one of these addresses, you should at least get some route outside of your own network.



Traceroute uses ICMP as well, and may send more packets then ping. It works by setting the TTL on the ICMP packet, which is the number of route hops to traverse before the packet is dropped. Routers are supposed to ( this can be disabled, and is why you get * * * sometimes) respond with a TTL expired. So it starts with a TTL of 1, and then increments by 1 after each hop is discovered (or no response in some timeout).


On unixes, traceroute typically uses UDP by default (nowadays, ICMP is often an option, as are TCP SYN packets). Windows' tracert uses ICMP.

I believe this is because you need root privileges/special capabilities to send ICMP packets.


Yes. I wasn’t perfectly clear there. You’re correct for the initial src packet, the TTL exceeded response is ICMP, I think always.


The important difference is that you can trust no host on the internet to actually respond to pings, especially not machines prone to receive DOS attacks, like public DNS resolvers. Traceroute is for testing connectivity, ping is an archaic test to see if a machine is running.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: