Vreau să știu dacă este necesar să aveți telnet activat pe ambele părți ale mașinilor pentru a obține conexiunea telnet.
Iată problema: încerc să telnetez un IP public pe portul 80 de pe un server web Linux (Red Hat).
Acest IP public are HTTP (80) activat pe el. I ” Nu sunt sigur dacă telnet este activat, dar proprietarul spune că este.
Pe serverul meu Linux, HTTP (80) este activat, dar nu telnet. În schimb, SSH este activat.
Când fac telnet de pe serverul meu Linux: telnet PublicIP 80
, scrie:
Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host
Trebuie să activez telnet pe serverul meu pentru ca acesta să funcționeze? Deoarece nu există nicio problemă la celălalt capăt, confirmat de alte surse. IP public: 220.226.190.180
Vă rugăm să explicați cum pot face să funcționeze. Dacă trebuie să activez telnet pe serverul meu Linux, vă rog partajați comanda și metoda pentru a face acest lucru.
Comentarii
- așa cum știm portul telnet nu este sigur, deci majoritatea fw îl blochează, sunteți sigur că nu există ‘ t firewall (pe cealaltă mașină) care blochează portul telnet.
- Se pare că ai făcut deja ceea ce ai vrut … Tu telnet ‘ a fost editat la serviciul HTTP la distanță și, din moment ce nu ați ‘ introdus nimic, a închis conexiunea. Nu este necesar să activați serviciul Telnet (Server) pe orice mașină. Utilizați clientul telnet. De asemenea, puteți utiliza curl / wget / nc / orice pentru a face același lucru.
- Există mari șanse să existe. Dar este permis oricui. Chiar și eu îl pot telnet de la rețeaua mea de acasă pe computerul meu Windows. dar este de la biroul meu ia m în față. totul este permis de partea noastră de firewall de pe acest server.
- @Networker problema de securitate este (în acest context) doar o prostie. telnet este utilizat ca client pentru a testa accesibilitatea unui serviciu – și NU, portul telnet nu este implicat.
Răspuns
Încercați să testați conectivitatea la un server Web la distanță cu telnet
? Apoi, nu: nu aveți nevoie de servere telnet. Serverul HTTP la distanță așteaptă comenzi, așa cum este indicat de caracterul de evacuare. Când expiră timpul de așteptare, conexiunea este închisă. Deci …
telnet <hostname or ip address> 80
Apoi tastați câteva comenzi HTTP:
GET / HTTP/1.1 host: <fqdn>
Utilizați FQDN-ul unei gazde pe care serverul Web la distanță a fost configurat să o servească. Acesta va returna documentul implicit cu comenzile HTTP de mai sus. Vă rugăm să rețineți comentariul exact de la 0xAF.
Comentarii
- OP trebuie să introducă 1 linie goală după introducerea sa pentru a putea prelua orice răspuns. Majoritatea serverelor HTTP vor permite comunicarea HTTP / 1.0. Dacă OP încearcă să testeze numai serviciul HTTP, el ar putea scrie doar ” GET / HTTP / 1.0 ” și ar putea apăsa tasta Enter De 2 ori.
Răspuns
Pentru a răspunde la întrebarea dvs. în prima teză: Telnet este două lucruri: a aplicație de tip server (daemon) și o aplicație de tip client.
Când rulează un server telnet, computerul ascultă pe portul TCP 23 conexiunile de la un client telnet.
Un client telnet nu ascultă pe niciun port, ci mai degrabă încearcă să se conecteze la portul TCP 23 (implicit) pe un computer. Dacă se conectează corect, utilizatorul poate fi solicitat să se conecteze și apoi are o sesiune de shell interactivă. Deoarece telnet comunică implicit folosind text simplu, necriptat (inclusiv parola dvs.!), Acest lucru NU este recomandat.
Cu toate acestea, așa cum spune Christopher în răspunsul său excelent, dacă încercați cu adevărat să testați un server http folosind telnet, puteți utiliza programul telnet pentru asta și nu aveți nevoie de un server telnet.
Programul client telnet poate fi utilizat pentru a vă conecta la alte porturi TCP decât portul implicit 23.
telnet <hostname> <TCP port>
Deoarece serverele http ascultă de obicei pe portul 80, puteți utiliza programul telnet pentru a vă conecta la portul 80 și puteți vedea ce trimite serverul http browserelor atunci când se conectează:
telnet google.com 80
Aceasta se va conecta, dar trebuie apoi să tastați următorul text, care este doar o simplă solicitare http (majuscula este importantă):
GET / HTTP/1.1 host: test.com
Apoi apăsați Enter de două ori.
Apoi veți vedea toate html-urile brute pe care Google le servește browserelor. Puteți utiliza același concept pentru a vă testa propriile servere http.
Răspundeți
telnet
poate fi utilizat pentru a testa protocolul HTTP, dar există instrumente mai potrivite pentru sarcină. Personal recomand curl
. Este în esență un utilitar de linie de comandă care poate interacționa cu o mare varietate de protocoale (HTTP, HTTPS, FTP …). Folosind curl
în loc de telnet
pentru a testa un server HTTP, nu veți fi nevoit să introduceți manual cererile HTTP și vă va oferi mai multe informații în ansamblu.Unele caracteristici pe care le-ați putea găsi utile pentru situația dvs. actuală sunt:
Conectați-vă la o gazdă utilizând HTTP și solicitați documentul implicit:
curl <public ip>
Conectați-vă la o gazdă utilizând HTTP și vizualizați numai antetele HTTP:
curl -I <public ip>
Conectați-vă la gazdă utilizând HTTP, vizualizați doar antetele HTTP și urmați redirecționările 3xx:
curl -LI <public ip>
curl
are literalmente zeci de opțiuni. Vă recomandăm să utilizați curl --help
pentru un rezumat rapid și man curl
sau curl --manual
pentru informații mai detaliate.
Răspuns
Dacă nu aveți telnet sau curl, puteți utiliza, de asemenea, cat și proc dir pentru a conecta un port:
cat < /dev/tcp/HOST/PORT
Extras din acest articol (în spaniolă) .