traceroute TCP-еквівалент для Windows [закрито]


23

Я намагаюся визначити, де з'єднання із зовнішнім хостом із використанням конкретного порту TCP блокується. Трасування для Windows , використовує тільки ICMP, і телнет скаже мені тільки що порт буде заблокований , а не де. Хтось знає про утиліту Windows, схожу на traceroute, яка цього досягне?

Відповіді:


29

Ви можете використовувати nmap 5.0з --tracerouteопцією. Ви також отримаєте portscan безкоштовно :).

Якщо ви хочете протестувати певний порт, ви можете скористатися -p portопцією. (Ви також повинні використовувати параметр -Pn, щоб nmap не спробував спочатку зробити звичайний ICMP-зонд). Це приклад:

$ 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)

Якщо вас зацікавив графічний інструмент, ви можете використовувати zenmap , який також відображає карти топології на основі вихідних даних.

карти топології


2
Коли я запускаю вищезгадану команду на своїй, nmapвона насправді робить ICMP-переслідування. Крім того дивно, ви вказуєте порт 8000, але nmapвикористовуєте порт 443 для фактичної трасування. Чому?
kojiro

2

Scapy має функцію маршруту трасування tcp, описану в цьому посібнику Scapy . Scapy можна встановити на Windows, ось інструкція . Я не впевнений, що його функція доступна у версії Windows, але це може бути.

Це допоможе знати пітон, або хоча б деякі знання про ОО (об'єктно-орієнтоване) програмування, але, можливо, вам це не знадобиться лише для того, щоб слідувати навчальному посібнику, до якого я пов’язаний. Також Scapy передбачає, що ви розумієте модель OSI, яку я думаю.


Примітка. Функція Scarou traceroute доступна в Windows.
Максвелл

1

Я не впевнений, чи nmap --traceroute буде працювати належним чином у Windows через те, що Windows ігнорує запити на нестандартні TTL. Я просто отримую дивовижну форму з двома скачками на щось, що становить приблизно 10-20 стрибків:

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

Я відправлю назад, якщо знайду щось підходяще за ціллю, про яку вже не було сказано.


Снайфер повинен повідомити вам, що відбувається. Я здогадуюсь, що якийсь проміжний маршрутизатор / шлюз намагається бути розумним алеком і обробляє пакети незвично.
ivan_pozdeev

1

Ви можете знайти ряд посилань googleing.

Реалізація Linux на traceroute, яка може використовувати протокол TCP і замінила стару реалізацію на багатьох дистрибутивах. Просте використання -Tпрапора в цих системах.

На Mac -P TCPробить роботу.

Історично було розроблено ряд спеціальних інструментів; серед інших посилань є простий скрипт python, який можна використовувати також із зазначенням порту, який потрібно досліджувати: tcptraceroute.py, а одним із найпопулярніших є tcptraceroute Майкла Торена .


1
Сторінку Вікіпедії видалено.
Скотт Манро

видалено і тут, tnx
drAlberT

Посилання на tcptraceroute Майкла Торена мертве
Таннер

0

Мені не відомий жоден інструмент traceroute для Windows, який дозволяє визначити порт. Протокол ICMP призначений для такого роду діагностики маршруту; інших протоколів немає. Цілком імовірно, що якщо сам хост, якщо не відмовиться від з'єднання, десь уздовж маршруту знаходиться брандмауер, який просто скидає пакети, не повертаючи жодної іншої інформації до джерела, і в цьому випадку жодна утиліта не працює для вашої ситуації.

Ви можете спробувати запустити Wireshark , а потім зв’язатися з потрібним портом до цільової системи. Ви могли б (але , ймовірно , не буде) отримати TCP_RESETабо DEST_UNREACHабо що - то від будь-яких брандмауер блокує з'єднання, але це малоймовірно. Зрештою, вам потрібно поговорити з мережевими людьми, які можуть простежити маршрут і подивитися набір правил брандмауерів на цьому шляху.

Удачі.


0

Є кілька альтернатив Windows для улюбленого LFT UNIX .

На жаль, жодна з тих, що веснують на думку, не є безкоштовною. Але вони досить гарні.

На жаль, якщо ви використовуєте WinXP SP2 ~, то у вас можуть виникнути проблеми при виконанні будь-якого маршрутизації TCP. Це пов’язано з видаленням сирої опори розетки.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.