Traceroute non funziona su Linux, su Windows funziona


8

Sono un utente di Linux Mint. Ho eseguito traceroute su Linux e tracert su Windows. Su Linux, ho solo degli asterischi. Tutto sembra funzionare bene su Windows. Ecco le uscite

Finestre:

finestre

Linux Mint:

Linux Mint

Perché succede e c'è qualcosa che posso fare per risolvere questo problema?


E puoi accedere a Internet dal sistema Linux Mint? Questi sistemi operativi sono entrambi in esecuzione sullo stesso PC? Come doppio avvio o utilizzo della virtualizzazione?
depquid

1
Voto negativo per lo stesso motivo del commento @depquid. A questa domanda mancano molte informazioni critiche per risolverlo.
Bagavadhar,

2
Non credo che meritasse alcun voto negativo per questo. C'erano abbastanza informazioni qui per fornire una risposta.
Giordania,

1
Non cerco voti positivi, solo risposte, quindi non mi difenderò :) Di certo posso accedere a Internet, questa mi sembra una domanda banale. Scusa per non aver scritto della macchina: sì, è lo stesso (con dual-boot)
Luigi

Risposte:


14

Un probabile motivo della differenza è che Windows tracertutilizza per impostazione predefinita ICMP, mentre Linux utilizza tracerouteUDP per impostazione predefinita. L'uso -Idell'opzione per traceroute dovrebbe produrre gli stessi risultati di tracert:

traceroute -w 10 -I google.it

Dalla traceroutedocumentazione:

Nel moderno ambiente di rete i metodi traceroute tradizionali non possono essere sempre applicabili, a causa dell'uso diffuso dei firewall. Tali firewall filtrano le "improbabili" porte UDP, o persino gli echi ICMP. Per risolvere questo, vengono implementati alcuni metodi di tracerouting aggiuntivi (incluso tcp), vedere ELENCO DEI METODI DISPONIBILI di seguito. Tali metodi tentano di utilizzare un determinato protocollo e una porta di origine / destinazione, al fine di bypassare i firewall (che devono essere visti dai firewall proprio come l'inizio del tipo consentito di una sessione di rete).

ELENCO DEI METODI DISPONIBILI

In generale, potrebbe essere necessario scegliere un particolare metodo traceroute con il nome -M, ma la maggior parte dei metodi ha i loro semplici interruttori cmdline (puoi vederli dopo il nome del metodo, se presente).

predefinito

Il metodo tradizionale e antico di tracerouting. Usato di default.

I pacchetti di sonde sono datagrammi udp con porte di destinazione cosiddette "improbabili". La porta "improbabile" della prima sonda è 33434, quindi per ogni sonda successiva viene incrementata di una. Poiché si prevede che le porte non saranno utilizzate, l'host di destinazione restituisce normalmente "porta non raggiunta icmp" come risposta finale. (Nessuno sa cosa succede quando alcune applicazioni ascoltano tali porte, però).


Questo non funziona per me. Dà lo stesso risultato.
Oca,

0

Prova questo:

traceroute -M icmp google.it

3
Sarebbe molto meglio se potessi modificare la tua domanda e spiegare cosa fa questo e perché risolverà il problema descritto.
roaima,

L'ICMP non è mai il buon strumento per risolvere i problemi di rete (e si potrebbe anche usare solo pingallora, non è necessario traceroute -M). Se si tenta di valutare la connettività HTTP (che suppongo in base al nome utilizzato nella domanda), è necessario eseguire una query HTTP che in genere un TCP / 80 o TCP / 443. Quindi usi tpctraceroutequesto.
Patrick Mevzek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.