Yeah I tried mtr again recently. After maybe 30 seconds of working fine, it'll exit with an error like "no route to host" (even though it was getting responses before). Yeah, packet loss is exactly why I'm opening mtr: to see where on the path it occurs... how in the world does that make it crash
Sadly WinMTR does not work properly anymore and is long abandoned.
The best alternative is a commercial product called PingPlotterPro. You can use it for free during a trial period.
Networking people generally don't use Windows much for troubleshooting. Windows networking behavior causes all kinds of problems and nobody wants to deal with that shit.
• See the whole path fast - don't wait on one unresponsive hop to see "deeper" hosts
• Run ongoing traces to get path quality (per-hop packet drop & latency min/max/avg)
• Optional jitter statistics
• Color "strip chart" view (press 'd' twice)
• Drawback: need sudo, unlike trace route
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.
> Further, the system that replies with a Destination host unreachable is the system which doesn’t have a path to the requested network - so you immediately know where to start looking.
No, that's "Destination net unreachable". Destination host unreachable means it didn't get an ARP response so it doesn't know the MAC address of the system with that IP.
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?
ping and traceroute used to be very useful tools. Then for a period of time -- maybe still ongoing -- sysadmins and some network security folks decided that by blocking ALL ICMP at their network edge, they were increasing security. (Wrong!) As a result, you get hanging traceroutes with one or two hops left and you can't use ping to verify a host is online. Worse, blocking all ICMP breaks things like MTU discovery along the path. Recently I have seen admins coming to their senses and unblocking ICMP, but it's still an old rule-of-thumb held by many.
Another common basic test for at-least windows clients that you should also add to the beginning is when you run a ping test and has the reply of your own host IP.
I don’t know how many times I’ve had systems admins or engineers come to me saying there’s a network is but there NIC port is misconfigured. This usually happens due to two NICs being configured or they something else tuned incorrectly with vlan tagging at the nic under properties or the vswitch is incorrectly configured.
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.
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.
brew install mtr
Try tapping 'd' twice to enable a stripchart
? for help