Live data from Hacker News

ICMP, Ping, and Traceroute – What I wish I was taught (2020)

xkln.net

21–30 of 40 posts

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#21
post #15

Earlier quoted context omitted.

There’s also WinMTR for Windows: https://github.com/White-Tiger/WinMTR

Last updated 9 years ago.

That's not accurate:

https://github.com/traviscross/mtr

> Merge pull request #412 from 23hiro/master … 327dd3f 11 days ago

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#22
post #5

Telnet to the port sometime establishes connectivity too.

In lieu of telnet, you can use curl as well: curl -v telnet://example.com:8000

If you just want to test if something is listening on a port, no need to specify the "telnet" protocol - using curl normally with the verbose option will still tell you whether the port is open, though it'll error out later down the path when it doesn't get the expected HTTP response if probing a non-HTTP port.

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#24

Earlier quoted context omitted.

Last updated 9 years ago.

That's not accurate: https://github.com/traviscross/mtr > Merge pull request #412 from 23hiro/master … 327dd3f 11 days ago

That's the Linux version, not WinMTR.

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#26
post #5

Telnet to the port sometime establishes connectivity too.

In lieu of telnet, you can use curl as well: curl -v telnet://example.com:8000

Telnet is more often available in older/properly configured windows systems. Curl is nix and doesn’t have the history of availability of telnet. Good to know both.

Wonder whether ssh -verbose could work in a pinch? Haven’t tried it for non-ssh coms.

The whole point of course is not every protocol nor service provides a minimalistic/widespread way of testing for basic connectivity.

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#28
I love these types of practical approaches to networking. At least for me, I think it's the clearest way to learn about these things (rather than just read about them). Would have certainly made my university networkings course much more clear!

That's what made Crafting Interpreters[0] so compelling to me. Does anyone know any similar resources for networking?

[0] https://craftinginterpreters.com/

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#29
post #11

Another thing that can be useful is to use tcpdump on the other side to see if the stuff sent to e.g. a TCP port is actually received: tcpdump -i any src port 5432 or dst port 5432 If it is now received you know you need to investigate on your receiving side, if it is not , the problem might be firewall or network.

that is the same as

  tcpdump -i any port 5432

Re: ICMP, Ping, and Traceroute – What I wish I was taught (2020)

#30
post #13

I'm interested in the topic so skimmed the whole thing but it's all just basics. Most people won't know them all, but so FYI: skip the lengthy article if you know how traceroute and ARP and ICMP work in general, what the difference is between connection times out and connection refused, and why sometimes traceroute returns more than one host for a given hop.

I wouldn't call the details he goes into with traceroute "just basics", its common even for network engineers to come to the wrong conclusion based on traceroute output, or not realising that they need more information to truly know what is going on (traceroute from both sides).

I would second this. I handle a lot of meetings and screenings for technical positions and quite a few Senior Network Administrators don't know or remember the basics for a lot of networking items and are completely lost when it comes to items like this. It is very much so a prevalent problem that many IT persons don't realize it's not only possible, but common to block ICMP entirely. For me, this has rendered ping unreliable as I can never truly know if we really can't reach the host or if some Network Security Admin has blocked ICMP (and often the Network persons aren't aware of this either).

Same with traceroute -- it's a common question in our interviews, "if you suspect a poor route in a given topology, which servers (client, server) should you run traceroute on?". The most common answer is just the client, without a lot of understanding that you have to consider the route from the server to the client and, like the article shared, that you only get the route info from the server you test.

Networking is still pretty tough I would say and a lot of support tickets raised for my company's product are 100% related to the network in the environment, but the Network Admin/Team lacks the depth to really investigate such issues, but knows enough to at least try to argue it's not network.

I love articles like this which clearly and plainly discuss the basic elements of networking because how you understand the basic elements fundamentally shapes how you understand network errors. The number of conversations I've had with clients who when faced with an error like "Host refused connection" when our product can't connect to a host ask with a straight face "so why did your application close the connection?" is far too high, and it's pretty disappointing on a personal level to have such discussions. Ignorance is not a sin. Reveling in ignorance is.

Post reply on HN