traceroute TCP equivalente per Windows [chiuso]


23

Sto cercando di determinare dove viene bloccata la connettività a un host esterno utilizzando una porta TCP specifica. Traceroute per Windows utilizza solo ICMP e telnet mi dirà solo che la porta è bloccata e non dove. Qualcuno sa di un'utilità di Windows simile a traceroute che riuscirà a raggiungere questo obiettivo?

Risposte:


29

Puoi usare nmap 5.0con l' --tracerouteopzione. Riceverai anche un portcan gratuito :).

Se si desidera testare una porta specifica, è possibile utilizzare l' -p portopzione. (Dovresti anche usare l'opzione -Pn in modo che nmap non provi a fare prima una normale sonda ICMP). Questo è un esempio:

$ sudo nmap -Pn --traceroute -p 8000 destination.com
PORT     STATE SERVICE
8000/tcp open  http-alt

TRACEROUTE (using port 443/tcp)
HOP RTT  ADDRESS
1   0.30 origin.com (192.168.100.1)
2   0.26 10.3.0.4
3   0.42 10.1.1.253
4   1.00 gateway1.com (33.33.33.33)
5   2.18 gateway2.com (66.66.66.66)
6   ...
7   1.96 gateway3.com (99.99.99.99)
8   ...
9   8.28 destination.com (111.111.111.111)

Se sei interessato a uno strumento grafico, puoi utilizzare zenmap , che visualizza anche mappe topologiche basate sull'output di traceroute.

mappe topologiche


2
Quando eseguo il comando sopra sul mio nmapfa effettivamente un traceroute ICMP. Inoltre, si specifica la porta 8000, ma si nmapsta utilizzando la porta 443 per il traceroute effettivo. Perché?
— Kojiro,

2

Scapy ha una funzione di traccia di traccia tcp descritta in questo tutorial di Scapy . Scapy può essere installato su Windows, ecco le istruzioni . Non sono sicuro che la sua funzione sia disponibile nella versione Windows, ma potrebbe esserlo.

Aiuterà a conoscere Python, o almeno una certa conoscenza della programmazione OO (Object Oriented), ma potresti non averne bisogno solo per seguire il tutorial a cui mi sono collegato. Scapy presuppone anche che tu abbia una conoscenza di base del modello OSI, credo.


nota: la funzione traceroute Scapy è disponibile su Windows.
— Maxwell,

1

Non sono sicuro che nmap --traceroute funzionerà correttamente su Windows perché Windows ignora le richieste di TTL non standard. Ho appena ottenuto un percorso a due hop dalla forma strana a qualcosa che dista circa 10-20 luppoli:

c:\Program Files (x86)\Nmap>nmap -Pn --traceroute -p 443 66.98.200.8

Starting Nmap 6.01 ( http://nmap.org ) at 2012-08-27 18:52 GMT Daylight Time
Nmap scan report for live.sagepay.com (195.170.169.9)
Host is up (0.21s latency).
PORT    STATE SERVICE
443/tcp open  https

TRACEROUTE (using port 443/tcp)
HOP RTT      ADDRESS
1   31.00 ms 192.168.192.2
2   62.00 ms 66.98.200.8

Riporterò post se trovo qualcosa di adatto allo scopo che non è già stato menzionato.


Uno sniffer dovrebbe dirti cosa sta succedendo. La mia ipotesi è che alcuni router / gateway intermedi provino ad essere un sistema intelligente e gestiscano i pacchetti in modo insolito.
— ivan_pozdeev,

1

Puoi trovare numerosi link su Google.

Un'implementazione Linux su traceroute in grado di utilizzare il protocollo TCP e aver sostituito la vecchia implementazione in molte distro. Usa semplicemente la -Tbandiera su quei sistemi.

Su Mac -P TCPfa il lavoro.

Storicamente sono stati sviluppati numerosi strumenti ad hoc; tra gli altri riferimenti c'è un semplice script Python che può essere usato anche specificando la porta che bisogna sondare: tcptraceroute.py mentre uno dei più popolari è tcptraceroute di Michael Toren.


1
La pagina di Wikipedia è stata eliminata.
— Scott Munro

cancellato anche qui, tnx
— drAlberT

Il collegamento a tcptraceroute di Michael Toren è morto
— Tanner il

0

Non sono a conoscenza di alcuno strumento traceroute per Windows che ti consenta di definire la porta. Il protocollo ICMP è progettato per questo tipo di diagnosi del percorso; altri protocolli no. È probabile che, se l'host stesso, se non rifiuta la connessione, da qualche parte lungo il percorso è un firewall che semplicemente rilascia i pacchetti senza restituire altre informazioni alla fonte, nel qual caso nessuna utility funzionerebbe per la tua situazione.

Potresti provare ad accendere Wireshark e quindi fare il telnetting sulla porta desiderata sul sistema di destinazione. Si potrebbe (ma probabilmente non) ottiene un TCP_RESETo DEST_UNREACHo qualcosa di nuovo da qualunque firewall blocca le comunicazioni, ma questo è improbabile. Alla fine, devi parlare con le persone della rete che possono tracciare il percorso e guardare le regole dei firewall lungo il percorso.

In bocca al lupo.


0

Esistono un paio di alternative di Windows alla LFT preferita di UNIX .

Sfortunatamente nessuno di quelli che mi vengono in mente sono gratuiti. Ma sono abbastanza buoni.

Sfortunatamente, se si utilizza WinXP SP2 ~, è possibile che si verifichino problemi nell'esecuzione di qualsiasi tracciamento TCP. Ciò è dovuto alla rimozione del supporto socket non elaborato.


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.