O Traceroute não funciona no Linux, no Windows

8

Eu sou um usuário do Linux Mint. Eu executei o traceroute no Linux e o tracert no Windows. No Linux, recebo apenas asteriscos. Tudo parece funcionar bem no Windows. Aqui estão as saídas

Janelas:

janelas

Linux Mint:

Linux Mint

Por que isso está acontecendo e há algo que eu posso fazer para resolver esse problema?

Luigi
fonte
E você pode acessar a Internet a partir do sistema Linux Mint? Esses sistemas operacionais estão rodando no mesmo PC? Como uma inicialização dupla ou usando virtualização?
depquid
1
Baixa na votação por causa do mesmo motivo que o comentário @depquid. Esta questão carece de muitas informações críticas para resolver isso.
precisa saber é o seguinte
2
Eu não acho que ele mereceu votos negativos por isso. Havia informações suficientes aqui para fornecer uma resposta.
Jordanm 17/04
1
Não estou procurando votos positivos, apenas respostas, para não me defender :) Como posso acessar a Internet, isso me parece uma pergunta trivial. Desculpe por não escrever sobre a máquina: sim, é o mesmo (com dual-boot)
Luigi

Respostas:

14

Uma razão provável para a diferença é que, por padrão, o Windows tracertusa ICMP, enquanto o Linux tracerouteusa o UDP como padrão. O uso da -Iopção para traceroute deve produzir os mesmos resultados que tracert:

traceroute -w 10 -I google.it

A partir da traceroutedocumentação:

No ambiente de rede moderno, os métodos tradicionais de traceroute nem sempre podem ser aplicáveis, devido ao uso generalizado de firewalls. Esses firewalls filtram as portas UDP "improváveis" ou mesmo ecos de ICMP. Para resolver isso, alguns métodos adicionais de rastreamento são implementados (incluindo tcp), consulte LISTA DE MÉTODOS DISPONÍVEIS abaixo. Esses métodos tentam usar um protocolo específico e uma porta de origem / destino, a fim de ignorar os firewalls (a serem vistos pelos firewalls apenas como um início do tipo permitido de uma sessão de rede).

LISTA DE MÉTODOS DISPONÍVEIS

Em geral, um método de traceroute específico pode ter que ser escolhido pelo nome -M, mas a maioria dos métodos possui suas opções simples de cmdline (você pode vê-las após o nome do método, se presente).

padrão

O método tradicional e antigo de rastreamento. Usado por padrão.

Pacotes de teste são datagramas de udp com as chamadas portas de destino "improváveis". A porta "improvável" do primeiro probe é 33434 e, para cada próximo probe, ele é incrementado em um. Como as portas não devem ser utilizadas, o host de destino normalmente retorna "porta icmp unreach" como resposta final. (Ninguém sabe o que acontece quando algum aplicativo escuta essas portas).

jordanm
fonte
Isso não funciona para mim. Dá o mesmo resultado.
Ganso
0

Tente o seguinte:

traceroute -M icmp google.it
user372552
fonte
3
Seria muito melhor se você pudesse editar sua pergunta e explicar o que isso faz e por que resolveria o problema descrito.
roaima 13/09/19
O ICMP nunca é a boa ferramenta para solucionar problemas de rede (e você também pode simplesmente usá ping-lo, sem necessidade traceroute -M). Se você tentar avaliar a conectividade HTTP (que eu acho que com base no nome usado na pergunta), será necessário fazer uma consulta HTTP que normalmente seja TCP / 80 ou TCP / 443. Portanto, você usa tpctraceroutepara isso.
Patrick Mevzek 13/09/19