Krótka wersja tego rozwiązania jest taka, że od klienta A do serwera B, niektóre połączenia docierają tam aż do końca, a inne są porzucane w tranzycie. Wiem, że są usuwane w tranzycie, ponieważ gdy robię tcpdump na serwerze, widzę trafienia dla portów, które działają, ale nic dla tych, które nie działają.
Próbowałem nmap
dowództwo:
nmap -p & lt; port & gt; --traceroute & lt; dst_ip & gt;
który działa doskonale, gdy połączenie się powiedzie, ale jeśli połączenie nie powiedzie się z jakiegokolwiek powodu, oznacza port jako filtrowany, a następnie przełącza się na icmp dla traceroute.
Czy jest coś, co mogę zrobić, aby zmusić traceroute do pozostania w dostarczonym porcie, nawet jeśli połączenie nie powiedzie się? Muszę być w stanie zobaczyć, jak daleko konkretny port (y) dostanie się przed upuszczeniem.
źródło
Nmap wybiera sondy dla traceroute z tego, co wie o celu, wybierając sondy, które najprawdopodobniej dotrą do celu. Z tego powodu jego traceroute nie jest tak naprawdę przydatny do debugowania odrzuconych pakietów, ale jest doskonały do szybkiego śledzenia ścieżki bez wiedząc, co osiągnie cel.
Właśnie włożyłem żądanie funkcji dla tego być częścią narzędzia Nping, które jest rozwijane przez Projekt Nmap i wydaje się być dobrą platformą dla takiej możliwości. W międzyczasie, jak wspomina @StevenLee, istnieją istniejące narzędzia traceroute, które mogą określić, który port do traceroute.
źródło
Musisz użyć przełącznika -Pn
źródło