odpowiednik traceroute TCP dla Windows [zamknięty]

23

Próbuję ustalić, gdzie łączność z hostem zewnętrznym za pomocą określonego portu TCP jest blokowana. Traceroute dla Windows używa tylko ICMP, a telnet powie mi tylko, że port jest zablokowany, a nie gdzie. Czy ktoś wie o narzędziu Windows podobnym do traceroute, które to osiągnie?

Lloyd Mangram
źródło

Odpowiedzi:

29

Możesz używać nmap 5.0z --tracerouteopcją. Dostaniesz również Portycan za darmo :).

Jeśli chcesz przetestować określony port, możesz użyć -p portopcji. (Powinieneś także użyć opcji -Pn, aby nmap nie próbował najpierw wykonać zwykłej sondy ICMP). To jest przykład:

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

Jeśli interesuje Cię narzędzie graficzne, możesz użyć zenmap , który wyświetla również mapy topologii na podstawie danych wyjściowych traceroute.

mapy topologiczne

chmeee
źródło
2
Kiedy uruchomię powyższą komendę na moim komputerze, nmaptak naprawdę robi to traceroute ICMP. Dziwne, że podajesz port 8000, ale nmapużywasz portu 443 do rzeczywistego śledzenia. Czemu?
kojiro
2

Scapy ma funkcję śledzenia trasy tcp opisaną w tym samouczku dotyczącym Scapy . Scapy można zainstalować w systemie Windows, oto instrukcje . Nie jestem pewien, czy jego funkcja jest dostępna w wersji Windows, ale może być.

Pomoże ci to w poznaniu Pythona, a przynajmniej pewnej wiedzy na temat programowania OO (Object Oriented), ale możesz nie potrzebować go tylko po to, aby postępować zgodnie z samouczkiem, z którym się łączyłem. Scapy zakłada również, że rozumiesz model OSI.

Kyle Brandt
źródło
Uwaga: Funkcja Trapy traceroute jest dostępna w systemie Windows.
Maxwell
1

Nie jestem pewien, czy nmap --traceroute będzie działał poprawnie w systemie Windows, ponieważ system Windows ignoruje żądania niestandardowych TTL. Po prostu dostaję dziwnie ukształtowaną ścieżkę dwóch skoków do czegoś, co jest w odległości około 10-20 przeskoków:

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

Wyślę wiadomość, jeśli znajdę coś odpowiedniego do celu, o którym jeszcze nie wspomniano.

James L.
źródło
Sniffer powinien powiedzieć ci, co się dzieje. Domyślam się, że jakiś pośredni router / brama próbuje być inteligentnym odbiorcą i obsługuje pakiety w niecodzienny sposób.
ivan_pozdeev
1

Możesz znaleźć wiele linków googleing.

Implementacja systemu Linux na traceroute może korzystać z protokołu TCP i zastąpiła starą implementację na wielu dystrybucjach. Po prostu użyj -Tflagi w tych systemach.

Na komputerze Mac -P TCPwykonuje to zadanie.

Historycznie opracowano szereg narzędzi ad hoc; wśród innych odniesień znajduje się prosty skrypt Pythona, którego można również użyć do określenia portu, który należy sondować: tcptraceroute.py, podczas gdy jednym z najpopularniejszych jest tcptraceroute autorstwa Michaela Torena .

drAlberT
źródło
1
Strona Wikipedii została usunięta.
Scott Munro
usunięto również tutaj,
tnx
Link do tcptraceroute autorstwa Michaela Torena nie żyje
Tanner
0

Nie znam żadnego narzędzia traceroute dla systemu Windows, które pozwala zdefiniować port. Protokół ICMP jest przeznaczony do tego rodzaju diagnostyki tras; inne protokoły nie są. Jest prawdopodobne, że jeśli sam host nie odmówi połączenia, gdzieś na trasie znajduje się zapora ogniowa, która po prostu upuszcza pakiety bez zwracania żadnych innych informacji do źródła, w którym to przypadku żadne narzędzie nie działałoby w twojej sytuacji.

Możesz spróbować uruchomić Wireshark , a następnie telnetować żądany port do systemu docelowego. Państwo może (ale prawdopodobnie nie będzie) dostać TCP_RESETlub DEST_UNREACHczy coś w zamian od jakichkolwiek zapora blokuje komunikację, ale jest to mało prawdopodobne. Ostatecznie musisz porozmawiać z ludźmi z sieci, którzy mogą śledzić trasę i patrzeć na zestawy reguł zapór ogniowych po drodze.

Powodzenia.

quux
źródło
0

Istnieje kilka alternatyw dla Windows do ulubionego LFT UNIX-a .

Niestety żaden z tych, które przychodzą na myśl, nie jest wolny. Ale są całkiem dobre.

Niestety, jeśli używasz WinXP SP2 ~, możesz mieć problemy z wykonaniem śledzenia TCP. Wynika to z usunięcia surowej obsługi gniazd.

Dan Carley
źródło