Voglio sapere se è necessario che telnet sia abilitato su entrambi i lati delle macchine per ottenere la connessione telnet.
Ecco il problema: sto provando a telnet un IP pubblico sulla porta 80 da un server web Linux (Red Hat).
Questo IP pubblico ha HTTP (80) abilitato su di esso. I ” Non sono sicuro che telnet sia abilitato ma il proprietario dice che lo è.
Sul mio server Linux, HTTP (80) è abilitato ma non telnet. Invece SSH è abilitato.
Quando eseguo il telnet dal mio server Linux: telnet PublicIP 80
dice:
Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host
Devo abilitare telnet sul mio server perché funzioni? Perché non ci sono problemi dallaltra parte come confermato da altre fonti. IP pubblico: 220.226.190.180
Spiega come posso farlo funzionare. Se devo abilitare telnet sul mio server Linux, per favore condividere il comando e il metodo per farlo.
Commenti
- come sappiamo la porta telnet non è sicura quindi la maggior parte dei fw la blocca, sei sicuro che non esiste ‘ nessun firewall (sullaltra macchina) che blocca la porta telnet.
- Sembra che tu abbia già fatto quello che volevi … Telnet ‘ al servizio HTTP remoto e poiché ‘ non hai digitato nulla, la connessione è stata chiusa. Non è necessario abilitare il servizio Telnet (Server) su qualsiasi macchina. Stai utilizzando il client telnet. Puoi anche usare curl / wget / nc / qualunque cosa per fare la stessa cosa.
- Ci sono molte possibilità che ci sia. Ma è permesso a chiunque, anche io posso telnet dalla mia rete domestica sul mio PC Windows, ma è dal mio ufficio ia m di fronte. tutto è consentito dalla nostra parte del firewall da questo server.
- @Networker il problema di sicurezza è (in questo contesto) solo una sciocchezza. telnet viene utilizzato come client per testare la raggiungibilità di un servizio e NO, la porta telnet non è coinvolta.
Risposta
Stai tentando di testare la connettività a un server Web remoto con telnet
? Allora no: non hai bisogno di server telnet. Il server HTTP remoto è in attesa di comandi, come indicato dal carattere di escape. Quando scade lattesa, la connessione viene chiusa. Quindi …
telnet <hostname or ip address> 80
Quindi digita alcuni comandi HTTP:
GET / HTTP/1.1 host: <fqdn>
Utilizza lFQDN di un host per il quale il server Web remoto è stato configurato. Restituirà il documento predefinito con i comandi HTTP sopra. Si prega di notare il commento accurato di 0xAF.
Commenti
- LOP deve inserire 1 riga vuota dopo il suo input per poter recuperare qualsiasi risposta. La maggior parte dei server HTTP consentirà la comunicazione HTTP / 1.0. Se lOP sta provando a testare solo il servizio HTTP, potrebbe semplicemente scrivere ” GET / HTTP / 1.0 ” e premere il tasto Invio 2 volte.
Risposta
Per rispondere alla tua domanda nella prima frase: Telnet è due cose: a applicazione lato server (daemon) e unapplicazione lato client.
Quando un server telnet è in esecuzione, il computer è in ascolto sulla porta TCP 23 per le connessioni da un client telnet.
Un client telnet non ascolta su nessuna porta, ma piuttosto tenta di connettersi alla porta TCP 23 (per impostazione predefinita) su un computer. Se si connette correttamente, allutente potrebbe essere richiesto di accedere e quindi ha una sessione di shell interattiva. Poiché telnet comunica per impostazione predefinita utilizzando testo semplice e non crittografato (inclusa la password!), NON è consigliato.
Tuttavia, come dice Christopher nella sua eccellente risposta, se stai davvero provando a testare un server http utilizzando telnet, è possibile utilizzare il programma telnet per questo e non è necessario un server telnet.
Il programma client telnet può essere utilizzato per connettersi ad altre porte TCP rispetto alla porta predefinita 23.
telnet <hostname> <TCP port>
Poiché i server http di solito sono in ascolto sulla porta 80, puoi utilizzare il programma telnet per connetterti alla porta 80 e vedere cosa invia il server http ai browser quando si connettono:
telnet google.com 80
Verrà eseguito il collegamento, ma è necessario quindi digitare il testo seguente, che è solo una semplice richiesta http (il caso è importante):
GET / HTTP/1.1 host: test.com
Quindi premi Invio due volte.
Vedrai quindi tutto lhtml non elaborato che Google fornisce ai browser. Puoi utilizzare lo stesso concetto per testare il tuo propri server http.
Rispondi
telnet
può essere utilizzato per testare il protocollo HTTP, ma ci sono strumenti più adatti allattività. Personalmente consiglio curl
. È essenzialmente unutilità della riga di comando in grado di interagire con unampia varietà di protocolli (HTTP, HTTPS, FTP …). Lutilizzo di curl
invece di telnet
per testare un server HTTP ti eviterà di dover digitare manualmente le richieste HTTP e ti fornirà più informazioni in generale.Alcune funzionalità che potresti trovare utili per la tua situazione attuale sono:
Connettiti a un host utilizzando HTTP e richiedi il documento predefinito:
curl <public ip>
Connettiti a un host utilizzando HTTP e visualizza solo le intestazioni HTTP:
curl -I <public ip>
Connettiti allhost utilizzando HTTP, visualizza solo le intestazioni HTTP e segui i reindirizzamenti 3xx:
curl -LI <public ip>
curl
ha letteralmente dozzine di opzioni. Consiglio di utilizzare curl --help
per un breve riepilogo e man curl
o curl --manual
per informazioni più dettagliate.
Risposta
Se non hai telnet o curl, puoi anche usare cat e proc dir per connettere una porta:
cat < /dev/tcp/HOST/PORT
Estratto da questo articolo (in spagnolo) .