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.