W jaki sposób nmap odróżnia porty zamknięte od portów filtrowanych

10

Załóżmy, że wykonujemy skanowanie połączenia TCP.

skan nmap w google zwraca następujące dane wyjściowe:

USŁUGA PAŃSTWA PORTU

80 / tcp otwórz http

443 / tcp otwórz https

Jeśli jednak spróbuję otworzyć gniazdo za pomocą netcat lub telnet na google.com na porcie 12, na przykład, netcat lub telnet zawiesza się bez końca.

Nmap wykrywa port 12 (i inne porty inne niż 80 lub 443) jako zamknięte, ale nawiązanie z nimi połączenia TCP nie zamyka się natychmiast.

Skąd nmap może wiedzieć, że te porty nie są filtrowane, ale zamknięte?

Nieustraszony
źródło
Domyślnie (choć ten algorytm ma coś więcej) wyjściem z nmap są tylko otwarte porty, a nie zamknięte lub filtrowane. nmap -p 12 www.google.com powinien normalnie pokazywać go jako przefiltrowany.
nos

Odpowiedzi:

14

Przy skanowaniu nmap zwykle otrzymujesz 3 stany:

  • Otwarty - komputer zdalny odpowiedział SYN / ACK na SYN
  • Zamknięty - komputer zdalny odrzucił próbę połączenia z pakietem RST
  • Filtrowano - nic nie wróciło, upłynął limit czasu

Otwarcie netcata do portu 80 i oczekiwanie nic nie da. Port 80 (zwykle) oznacza, że ​​serwer HTTP nasłuchuje po drugiej stronie i czeka na polecenie HTTP (aż do upłynięcia limitu czasu). Po netcatting do portu 80, spróbuj sedinng a, GET /aby zobaczyć, czy otrzymasz odpowiedź (prawdopodobnie błąd http).

mulaz
źródło
8

Port zamknięty to port, w którym nie nasłuchuje żadne oprogramowanie, więc próba nawiązania połączenia z tym portem w tym systemie spowoduje odesłanie przez pakiet pakietu TCP RST.

Z drugiej strony filtrowany port to zazwyczaj port, który jest blokowany przez zaporę na ścieżce sieci, więc próba nawiązania połączenia z tym portem w tym systemie spowoduje, że nic nie wróci ... nawet TCP RST ... więc próba połączenia będzie tam czekać, aż TCP przekroczy limit czasu próby połączenia.

Jeff McAdams
źródło
To prawda, ale nie odpowiada na moje pytanie. Otwórz netcat na google.com na porcie 42, nie dostaniesz pakietu RST, ale nmap oznaczy ten port jako zamknięty.
Intrepidd
Moja nmap na google.com, w tym port 42, zwraca ją jako przefiltrowaną, a nie zamkniętą.
Jeff McAdams
Szkoda, myślałem, że wszystkie porty, które nie zostały pokazane, były zamknięte, ale zależy to od wyniku globalnego.
Intrepidd