Możemy użyć następujących elementów w celu przetestowania portu VIA telnet; w poniższym przykładzie testujemy port 6667:
[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host
Ponieważ na niektórych komputerach nie możemy używać telnetu (z powodów wewnętrznych), jakie są alternatywy dla sprawdzania portów jako telnet?
linux
networking
curl
telnet
Yael
źródło
źródło
telnet
Narzędzie wyłącza działanie protokołu, jeżeli port jest podana w wierszu poleceń. Wtedy zachowuje się bardzo podobnienetcat
, tylko z wykrywaniem końca linii.Odpowiedzi:
Jeśli używasz Bash Shell, możesz użyć jego funkcji, aby sprawdzić, czy port jest otwarty czy zamknięty:
Zauważ, że jeśli serwer nie zareaguje po upływie 1 sekundy, upłynie limit czasu, polecenia między są
'
przerywane, a zatem nic nie jest drukowane.źródło
127.0.0.1
, co sprawia, że wygląda na to, że działa tylko z pętlą zwrotną.(timeout 1 bash -c '</dev/tcp/www.google.com/444 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
nic dla mnie nie drukuje.(timeout 1 bash -c '</dev/tcp/www.google.com/444' && echo PORT OPEN || echo PORT CLOSED) 2>/dev/null
działał zgodnie z oczekiwaniami (drukuje PORT ZAMKNIĘTY). Zanotuj lokalizację'
.netcat jest jedną z opcji.
-z
= ustawia nc, aby po prostu skanował w poszukiwaniu demonów nasłuchujących, bez wysyłania do nich żadnych danych-v
= włącza pełny trybźródło
nc
zachowuje się bardzo podobnietelnet
.Złoty standard jest bez wątpienia
nmap
( nmap.org ), ale zazwyczaj wymaga rootowania w celu uzyskania „najlepszych wyników”. Dostępne są jednak autonomiczne pliki binarne i można je uruchamiać jako użytkownik nieuprzywilejowany, z ograniczonymi możliwościami. Na przykład zamiastsyn
skanowania ukrycia (-sS
) wraca do standardowego skanowania połączenia TCP (-sT
). Jest to funkcjonalnie równoważne z netcat, ale ma ładne, przyspieszone możliwości obsługi wielu hostów.Przykład:
źródło
Jeśli Perl jest opcją, możesz użyć jego
IO::Socket
modułu do przetestowania połączenia z określonym hostem i portem; skrypt pod kodem TCP jako protokół (który byłby używany przez telnet):Przykładowe dane wyjściowe z zamkniętego portu:
Przykładowe dane wyjściowe z otwartego portu:
źródło
Zamiast telnet można użyć pliku urządzenia / dev / tcp i / dev / udp. Przykład: echo 0> /dev/tcp/103.64.35.86/6667. Następnie sprawdź status wyjścia za pomocą #echo $? . Jeśli kodem wyjścia jest 0, port jest otwarty. Jeśli kod zakończenia jest różny od zera, port jest zamknięty. Aby sprawdzić pakiety udp, użyj echa 0> /dev/udp/103.64.35.86/6667.
źródło
to kolejne polecenie, którego możesz użyć.
źródło