Como obter traceroute no cygwin?

12

A implementação do traceroute (tracert) difere no Windows e no Unix. Eu queria comparar ambos com o Wireshark. Eu estou no Windows 7 agora e queria ter a implementação do traceroute do Unix rapidamente.

Minha primeira ideia foi usar o MSYS ou o Cygwin. Instalei o Cygwin com pacotes "inetutils *" verificados, mas não há comando traceroute e executável correspondente em /usr/bin/ .

Eu também tentei pesquisar "traceroute" com pesquisa de pacotes do Cygwin e encontrou esta substring na lista de arquivos "zsh". Instalei o zsh e tentei traceroute e tcptraceroute sem resultados.

Qual pacote devo verificar para a instalação do traceroute e existe traceroute para o Cygwin?

    
por Derp 07.03.2015 / 10:48

3 respostas

4

Ok, como Stephen Kitt disse, não há nenhum pronto para usar binários traceroute para o Cygwin. É por isso que eu tentei compilar eu mesmo.

Eu posso ver que existe traceroute moderno mas a partir da sua descrição, ele não pode ser usado com kernels antigos do Linux e me compilação preso em falta "dccp.h" e eu desisti.

Consegui compilar a implementação antiga , mas funciona como se não pudesse ver as respostas do ICMP no TTL excedido (existem asteriscos em vez de resultados):

1 * * *

2 * * *

Talvez seja necessário algumas correções para trabalhar no Cygwin e essa é a razão pela qual não existe um pacote traceroute para o Cygwin.

Eu verifiquei com o Wireshark e vi que ele usa pacotes de teste UDP e respostas ICMP correspondentes são entregues corretamente. Eu quero notar que este traceroute antigo funciona lentamente como Win tracert ("consultando" nós um por um). O traceroute moderno dá resultados muito rapidamente.

    
por 09.03.2015 / 09:38
12

Não há traceroute nos pacotes do Cygwin, porque tracert está sempre disponível no Windows. Consulte o link para um tópico que discute brevemente isso. Você pode tentar compilar um traceroute no estilo Unix a partir do código fonte do Cygwin.

Se você quiser comparar o estilo tracert do Windows ao estilo traceroute do Unix, eu recomendaria executar traceroute no Unix ou no Linux, porque as pilhas de rede são diferentes; por isso, executar um traceroute no estilo Unix no Windows não fornecerá os mesmos rastreamentos de rede que o estilo traceroute do Unix no Unix.

    
por 07.03.2015 / 12:31
2

Consegui criar uma porta de mtr no Cygwin32 usando instruções:

link

A MTR é uma ferramenta de rastreamento traceroute alternativa. Tem uma interface de texto GUI e Ncurses. Não é exatamente o traceroute clássico, mas eu gosto mais dele.

    
por 13.05.2017 / 19:23