Telnet po prostu otwiera surowe TCP gniazdo elektryczne. Stąd każdy port, który akceptuje połączenia TCP, pozwoli ci połączyć się z nim za pomocą telnetu (czasami krótko, jeśli później nie negocjujesz poprawnie i terminowo).
Obejmuje to SSH usługa, która domyślnie działa na porcie 22, ale ponieważ nie jest to protokół zwykłego tekstu (jak usługa telnet na porcie 23 lub SMTP na porcie 25), nie można ręcznie wpisywać znaków w gnieździe po nawiązaniu połączenia i oczekiwaniu to działa - to będzie po prostu zniekształcony nonsens.
Jeśli chodzi o znajomość portów, które należy wypróbować na danym serwerze, najpierw musisz być ostrożny - skanowanie otwartych portów na komputerze, którego nie posiadasz, może spowodować kłopoty z właścicielem tego komputera i może się uruchomić alarmy włączone systemy wykrywania włamań . W końcu to, w jaki sposób haker próbowałby „umieścić ślad” hosta, aby określić, co na nim działa. Nie ma łatwego sposobu na odróżnienie tego typu skanowania od tego stosunkowo niewinnego, więc bądź ostrożny.
Jeśli jesteś właścicielem komputera lub masz pewność, że nie masz problemu z szukaniem otwartych portów, możesz użyć takiego programu nmap (są inni), aby dowiedzieć się, z czym możesz się połączyć.
Jeśli chodzi o znajomość portów, z którymi należy się wcześniej połączyć lub zastanawianie się, co może zrobić dany otwarty port, należy oficjalny rejestr przydziałów portów to pierwszy port połączenia. Zwykle masz także wersję lokalną na swoim hoście - dla systemów Unix / Linux możesz to znaleźć w /etc/services
a dla Windows będzie to coś w stylu C:\Windows\System32\drivers\etc\services
. Ostrzegam, że te lokalne kopie często są dość nieaktualne.
Warto również zauważyć, że możesz uruchamiać usługi na dowolnym porcie, który chcesz, są to tylko zarejestrowane wartości domyślne. Niektóre usługi w ogóle się nie rejestrują. W innych przypadkach administrator może uruchomić usługę na niestandardowym porcie, aby uniknąć oczywistych skanowań portów (na przykład uruchamiając ssh na porcie 722). Możesz teoretycznie uruchomić serwer WWW na porcie 22, a następnie skierować przeglądarkę na http://server:22/
i będzie działać, ale dlaczego chcesz? (poza być może obejściem zapory ogniowej).
Co sprawia, że warto wspomnieć o HTTP - możesz telnetować się do portu 80 (domyślny port http) i wydać proste polecenie w postaci zwykłego tekstu, tak jak w przeglądarce. Kiedyś było tak proste, jak wysyłanie GET /
ale to było w dniach 1.0 HTTP i teraz jest trochę (ale nie bardzo) bardziej skomplikowane:
$ telnet superuser.com 80
Trying 198.252.206.16...
Connected to superuser.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: superuser.com
HTTP/1.1 200 OK
Cache-Control: public, no-cache="Set-Cookie", max-age=14
Content-Type: text/html; charset=utf-8
Expires: Thu, 31 Jul 2014 18:04:39 GMT
Last-Modified: Thu, 31 Jul 2014 18:03:39 GMT
Vary: *
X-Frame-Options: SAMEORIGIN
Set-Cookie: prov=d901880d-730c-4d91-9ac9-7d81d84fe58a; domain=.superuser.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Date: Thu, 31 Jul 2014 18:04:24 GMT
Content-Length: 69500
<!DOCTYPE html>
Skróciłem resztę dla zachowania zwięzłości.