traceroute equivalente a TCP para Windows [fechado]


23

Estou tentando determinar onde a conectividade com um host externo usando uma porta TCP específica está sendo bloqueada. O Traceroute para Windows usa apenas ICMP, e o telnet diz apenas que a porta está bloqueada e não onde. Alguém sabe de um utilitário do Windows semelhante ao traceroute que conseguirá isso?

Respostas:


29

Você pode usar nmap 5.0com a --tracerouteopção Você também receberá um portscan gratuitamente :).

Se você deseja testar uma porta específica, pode usar a -p portopção (Você também deve usar a opção -Pn para que o nmap não tente executar uma análise ICMP regular primeiro). Isto é um exemplo:

$ 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 você estiver interessado em uma ferramenta gráfica, poderá usar o zenmap , que também exibe mapas de topologia com base na saída do traceroute.

mapas de topologia


2
Quando executo o comando acima, nmapele efetivamente faz um traceroute ICMP. Também estranho, você especifica a porta 8000, mas nmapestá usando a porta 443 para o traceroute real. Por quê?
Kojiro 29/05

2

O Scapy possui uma função de rota de rastreamento tcp descrita neste tutorial do Scapy . Scapy pode ser instalado no Windows, aqui estão as instruções . Não tenho certeza de que a função dele esteja disponível na versão do Windows, mas pode estar.

Ajudará a conhecer python, ou pelo menos algum conhecimento de programação OO (Orientada a Objetos), mas talvez você não precise apenas seguir o tutorial ao qual vinculei. Scapy também supõe que você tenha um entendimento básico do modelo OSI, eu acho.


Nota: A função de traceroute Scapy está disponível no Windows.
Maxwell

1

Não tenho certeza se o nmap --traceroute funcionará corretamente no Windows devido ao fato de o Windows ignorar solicitações de TTLs não padrão. Acabei de obter um caminho de dois sal de forma estranha para algo a cerca de 10 a 20 saltos de distância:

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

Vou postar de volta se encontrar algo adequado ao propósito que ainda não tenha sido mencionado.


Um farejador deve lhe dizer o que está acontecendo. Meu palpite é que algum roteador / gateway intermediário tenta ser inteligente e lida com os pacotes de uma maneira incomum.
ivan_pozdeev

1

Você pode encontrar vários links no google.

Uma implementação do Linux no traceroute, capaz de usar o protocolo TCP e ter substituído a implementação antiga em muitas distros. Simples use a -Tbandeira nesses sistemas.

No Mac -P TCPfaz o trabalho.

Historicamente, várias ferramentas ad hoc foram desenvolvidas; entre as outras referências, existe um script python simples que também pode ser usado para especificar a porta que é necessária para sondar: tcptraceroute.py, enquanto um dos mais populares é o tcptraceroute de Michael Toren.


1
A página da Wikipedia foi excluída.
Scott Munro

excluído aqui também, tnx
drAlberT 19/03/2013

O link para tcptraceroute por Michael Toren está morto
Tanner

0

Não conheço nenhuma ferramenta de traceroute para Windows que permita definir a porta. O protocolo ICMP foi projetado para esse tipo de diagnóstico de rota; outros protocolos não são. É provável que, se o próprio host, se não recusar a conexão, em algum lugar ao longo da rota houver um firewall que simplesmente elimine os pacotes sem retornar nenhuma outra informação à fonte; nesse caso, nenhum utilitário funcionaria para a sua situação.

Você pode tentar inicializar o Wireshark e, em seguida, telnetar na porta desejada para o sistema de destino. Você pode (mas provavelmente não conseguirá) recuperar um TCP_RESETou DEST_UNREACHalgo de qualquer firewall que esteja bloqueando as comunicações, mas isso é improvável. Por fim, você precisa conversar com as pessoas da rede que podem rastrear a rota e examinar os conjuntos de regras dos firewalls ao longo do caminho.

Boa sorte.


0

Existem algumas alternativas do Windows para a LFT favorita do UNIX .

Infelizmente, nenhum daqueles que vêm à mente são livres. Mas eles são muito bons.

Infelizmente, se você estiver usando o WinXP SP2 ~, poderá ter problemas para executar qualquer rastreamento de TCP. Isso ocorre devido à remoção do suporte de soquete bruto.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.