如何在Cygwin上获取traceroute?


14

在Windows和Unix上,traceroute(tracert)的实现有所不同。我想将两者与Wireshark进行比较。我现在在Windows 7上,我想快速获得Unix traceroute的实现。

我的第一个想法是使用MSYS或Cygwin获得它。我安装了Cygwin并检查了“ inetutils *”软件包,但是在中没有traceroute命令和相应的可执行文件/usr/bin/

我还尝试使用Cygwin软件包搜索来搜索 “ traceroute”,并在“ zsh”文件列表中找到了此子字符串。我安装的zsh和尝试traceroute,并tcptraceroute没有结果。

我应该检查哪个软件包来安装traceroute,并且Cygwin完全有traceroute吗?

Answers:


14

tracerouteCygwin软件包中没有该软件包,因为tracertWindows上始终可用。有关简要讨论此问题的主题,请参见https://cygwin.com/ml/cygwin/2005-12/msg00443.html。您可以尝试traceroute从来源usign Cygwin 编译Unix风格。

但是,如果您想将Windows风格tracert与Unix风格进行比较traceroute,我建议traceroute在Unix或Linux上运行,因为网络堆栈是不同的。因此,traceroute在Windows上运行Unix风格的网络跟踪不会像traceroute在Unix上为您提供完全相同的网络跟踪。


3
pingWindows上也存在,但Cygwin可用:)无论如何,谢谢您的回答。也许我会尝试traceroute手动为Cygwin 编译。
基里尔2015年

4
公平的点,并且traceroute提供了许多功能tracert
Stephen Kitt 2015年

4

好的,正如史蒂芬·基特(Stephen Kitt)所说,目前还没有为Cygwin使用traceroute二进制文件的准备。这就是为什么我尝试自己编译它的原因。

我可以看到有一个现代的traceroute,但是从下面的描述可以看出,它不能与旧的Linux内核一起使用,对我来说,编译过程因缺少“ dccp.h”而停滞了,我放弃了。

我能够编译旧的实现,但是它的工作方式就像无法看到超过TTL的ICMP答复(有星号而不是结果):

1 * * *

2 * * *

也许它需要一些修复才能在Cygwin上工作,这就是为什么Cygwin没有traceroute软件包的原因。

我与Wireshark进行了检查,发现它使用了UDP测试数据包,并且正确传递了相应的ICMP答复。我想注意到,这个旧的traceroute像Win一样缓慢运行tracert(“查询”节点一个接一个)。现代的traceroute可以非常快速地提供结果。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.