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.