Telnet no servidor Linux

4

Eu quero saber se é necessário ter telnet ativado em ambos os lados das máquinas para obter conexão telnet.

Aqui está o problema: Eu estou tentando telnetar algum IP público na porta 80 de um servidor web Linux (Red Hat).

Este IP público tem o HTTP (80) ativado. Não tenho certeza se o telnet está ativado, mas o proprietário diz que é.

No meu servidor Linux, o HTTP (80) está habilitado, mas não o telnet. Em vez disso, o SSH está ativado.

Quando faço telnet do meu servidor Linux: telnet PublicIP 80 diz:

Trying "PublicIP"...
Connected to "PublicIP" ("PublicIP").
Escape character is '^]'.
Connection closed by foreign host

É preciso habilitar o telnet no meu servidor para que ele funcione? Porque não há problema no outro lado, como confirmado por outras fontes. IP público: 220.226.190.180

Por favor, explique como posso fazê-lo funcionar. Se eu tiver que ativar o telnet no meu servidor Linux, por favor, compartilhe o comando e o método para fazer isso.

    
por Money 29.05.2014 / 22:37

4 respostas

7

Você está tentando testar a conectividade com um servidor Web remoto com telnet ? Então, não: você não precisa de servidores telnet. O servidor HTTP remoto está aguardando comandos, conforme indicado pelo caractere de escape. Quando termina a espera, a conexão é fechada. Então ...

telnet <hostname or ip address> 80

Em seguida, digite alguns comandos HTTP:

GET / HTTP/1.1
host: <fqdn>

Use o FQDN de um host que o servidor da Web remoto foi configurado para servir. Ele retornará o documento padrão com os comandos HTTP acima. Por favor, note o comentário exato por 0xAF.

    
por 29.05.2014 / 22:45
5

Para responder à sua pergunta na primeira frase: O Telnet é duas coisas: um aplicativo do lado do servidor (daemon) e um aplicativo do lado do cliente.

Quando um servidor telnet está em execução, o computador está escutando na porta TCP 23 para conexões de um cliente telnet.

Um cliente telnet não escuta em nenhuma porta, mas tenta se conectar à porta TCP 23 (por padrão) em um computador. Se ele se conectar corretamente, o usuário poderá ser solicitado a efetuar login e, em seguida, terá uma sessão de shell interativa. Como o telnet se comunica por padrão usando texto simples e não criptografado (incluindo sua senha!), Isso NÃO é recomendado.

No entanto, como Christopher diz em sua excelente resposta, se você está realmente tentando testar um servidor http usando telnet, você pode usar o programa telnet para isso, e você não precisa de um servidor telnet.

O programa cliente telnet pode ser usado para conectar-se a outras portas TCP que a porta padrão 23.

telnet <hostname> <TCP port>

Como os servidores http geralmente ouvem na porta 80, você pode usar o programa telnet para se conectar à porta 80 e ver o que o servidor http está enviando aos navegadores quando eles se conectam:

telnet google.com 80

Isso conectará, mas você deverá digitar o seguinte texto, que é apenas uma solicitação http simples (o caso é importante):

GET / HTTP/1.1
host: test.com

Em seguida, pressione enter duas vezes.

Você verá todo o HTML bruto que o Google exibe para os navegadores. Você pode usar esse mesmo conceito para testar seus próprios servidores http.

    
por 29.05.2014 / 23:12
1

telnet pode ser usado para testar o protocolo HTTP, mas existem ferramentas mais adequadas para a tarefa. Eu pessoalmente recomendo curl . É essencialmente um utilitário de linha de comando que é capaz de interagir com uma ampla variedade de protocolos (HTTP, HTTPS, FTP ...). Usar curl em vez de telnet para testar um servidor HTTP evitará que você precise digitar manualmente as solicitações HTTP e fornecerá mais informações no geral. Alguns recursos que você pode achar úteis para sua situação atual são:

Conecte-se a um host usando HTTP e solicite o documento padrão:

curl <public ip>

Conecte-se a um host usando HTTP e veja somente os cabeçalhos HTTP:

curl -I <public ip>

Conecte-se ao host usando HTTP, veja apenas os cabeçalhos HTTP e siga os redirecionamentos 3xx:

curl -LI <public ip>

curl literalmente tem dezenas de opções. Recomendo usar curl --help para um resumo rápido e man curl ou curl --manual para informações mais detalhadas.

    
por 30.05.2014 / 01:27
1

Se você não tem telnet ou curl, também é possível usar cat e proc dir para conectar uma porta:

cat < /dev/tcp/HOST/PORT

Extraído de este artigo (em espanhol) .

    
por 18.03.2016 / 13:22