How to get traceroute on cygwin?
There is no traceroute
in the Cygwin packages, because tracert
is always available on Windows. See https://cygwin.com/ml/cygwin/2005-12/msg00443.html for a thread briefly discussing this. You can try compiling a Unix-style traceroute
from source usign Cygwin.
If you want to compare Windows-style tracert
to Unix-style traceroute
though, I'd recommend running traceroute
on Unix or Linux, because the network stacks are different; so running a Unix-style traceroute
on Windows won't give you quite the same network traces as Unix-style traceroute
on Unix.
Ok, as Stephen Kitt said there is no ready to use traceroute binaries for Cygwin. That's why i tried to compile it myself.
I can see there is modern traceroute but from it's description follows, that it can't be used with old Linux kernels and for me compilation stuck on missing "dccp.h" and i gave up.
I was able to compile the old implementation, but it works like it can not see ICMP replies on TTL exceeded (there are asterisks instead of results):
1 * * *
2 * * *
Maybe it requires some fixes to work on Cygwin and that's is the reason why there is no traceroute package for Cygwin.
I checked with Wireshark and see it uses UDP test packets and corresponding ICMP replies are delivered correctly. I want to notice that this old traceroute works slowly like Win's tracert
("querying" nodes one by one). Modern traceroute gives results very quickly.
I was able to build a port of mtr
in Cygwin32 using instructions:
https://github.com/traviscross/mtr/
MTR is an alternative open source traceroute tool. It has both a GUI and Ncurses text interface. It is not exactly the classic traceroute, but I like it more.