Zapory ogniowe powinny odpowiadać komunikatem ICMP, gdy blokują żądanie. Jednak niekoniecznie tak jest ( ten ciekawy artykuł zainteresuje Cię ).
Możesz przetestować z zewnątrz, aby sprawdzić, czy port jest dostępny przez zaporę ogniową, a jeśli tak, to czy coś nasłuchuje. Oto trzy różne scenariusze związane z żądaniem TCP, które możesz obserwować za pomocą wireshark
innego sniffera pakietów, i co zobaczysz:
1) Zapora sieciowa odrzuca żądanie
Otrzymujesz z powrotem wiadomość ICMP, a narzędzie wysyłające żądanie powinno natychmiast powiedzieć ci coś w tym celu („nieosiągalny, zabronione przez administratora” itp.) Przez „narzędzie” rozumiem klienta, którego używasz do wysłania żądania (użyłem telnet
). Szczegóły komunikatu 1 zależą od konfiguracji zapory, ale „port nieosiągalny” jest prawdopodobnie najczęstszy.
„Brak trasy do hosta” może to oznaczać, ale może również wskazywać na bardziej subtelne problemy z routingiem.
2) Firewall upuszcza pakiet
Brak odpowiedzi, więc narzędzie czeka, aż upłynie limit czasu lub nudzisz się.
3) Firewall zezwala na pakiet (lub nie ma firewalla), ale na porcie nic nie nasłuchuje.
Otrzymujesz z powrotem komunikat TCP RST / ACK. Zakładam, że wymaga tego protokół TCP. Innymi słowy, jeśli nic nie nasłuchuje na porcie, sam system operacyjny wysyła tę odpowiedź. Odróżnienie tego od numeru 1 może być trudne tylko na podstawie tego, co raportuje narzędzie, ponieważ w obu przypadkach może powiedzieć to samo (najprawdopodobniej jednak odróżnia to jako „odmowę połączenia” od nr 1, „sieć nieosiągalna” ). Scenariusz nr 1 (komunikat odrzucenia ICMP) i nr 3 (komunikat TCP RST / ACK) obserwowane w snifferze pakietów na komputerze klienckim są wyraźnie różne.
Jedyną inną opcją jest przepuszczenie pakietu przez zaporę ogniową i coś nasłuchuje, aby uzyskać udane połączenie.
Innymi słowy: zakładając, że ogólnie sieć działa poprawnie, jeśli uzyskasz numer 1 lub 2, oznacza to, że zapora ogniowa aktywnie uniemożliwia dostęp do portu. # 3 nastąpi, jeśli twój serwer nie działa, ale port jest dostępny, i oczywiście (domyślnie) # 4 to udane połączenie.
- Np. „Port nieosiągalny”, „host zabroniony”, różne inne kombinacje host / port / admin i nieosiągalny / zabroniony ; poszukaj ich w wiadomości, ponieważ są wyraźnym wskazaniem zapory sieciowej IP w grze.
nc
zgłasza komunikat „Odmowa połączenia”, gdy port jest dostępny, ale nie ma nasłuchiwania, a „Sieć jest nieosiągalna”, gdy żądanie zostało odrzucone przez zaporę ogniową za pośrednictwem icmp (co oznacza, że może lub nie może istnieć usługa na porcie ). Jeśli zapora sieciowa upuści pakiet zamiast go odrzucić,nc
po prostu zawiesi się na chwilę.