Como obter o telnet para o localhost funcionando?

10

Estou trabalhando em uma configuração de desenvolvedor local que requer o uso de telnet (brincando com a configuração de um servidor MUD). Por isso, não há comentários que sugiram que eu use o SSH como uma alternativa mais segura.

No entanto, embora eu tenha instalado o daemon telnet, estou obtendo essa saída quando telnet localhost.

$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Quais são alguns dos motivos pelos quais a conexão está fechada? Verifiquei os documentos em hosts.allow e hosts.deny e decidi não inserir nenhuma entrada, pois o padrão é permitir tudo e isso é suficiente para meus propósitos de desenvolvimento local.

Jerome
fonte
2
Acho que você terá que nos contar mais sobre o software específico para masmorras multiusuário que você está usando. O telnetddaemon do Ubuntu normalmente funciona muito bem fora da caixa ... mas também fornece um login normal. Eu estou supondo que o próprio servidor MUD é o que está ouvindo na porta 23, então o problema provavelmente está em sua configuração. Provavelmente, nada tem a ver com o que você está fazendo com o telnetcliente. Como alternativa, se você estiver tentando usar seu servidor MUD com o Ubuntu nativo telnetd, informe-nos qual configuração você usou para tentar facilitar isso.
Eliah Kagan
O servidor MUD geralmente não usa o telnetd. É executado como um serviço em uma porta diferente.
Alistair Buxton
Ok, eu não sabia que o servidor MUD provavelmente não usaria o daemon nativo. Estou trabalhando no uso de uma biblioteca de servidores de jogos PHP, que eu assumi ser executada "em cima de" telnet nativo.
Jerome
Qual biblioteca e o que você fez com ela? Se for PHP, isso sugere que ele pode fornecer um servidor MUD baseado na Web (embora isso não seja garantido), em vez de um servidor baseado em telnet. Além disso, supondo que você instalou telnetde não alterar sua configuração, é ainda curioso que você não é capaz de obter um shell quando você telnetpara localhost. Você ainda deseja ajuda com esse problema, mesmo que isso não atrapalhe a execução do servidor MUD?
Eliah Kagan 11/01
2
Se seu servidor estiver executando via inetd, é bastante comum que o inetd escute uma porta e feche as conexões da maneira que você está vendo, se o daemon do servidor real não puder ser iniciado. Essa pode ser uma pista útil para você ou pode ser completamente irrelevante. Não tenho certeza de qual.
precisa saber é o seguinte

Respostas:

2

Ok, vamos investigar isso, passo a passo. Para descobrir o que realmente está sendo executado na porta do telnet, digite:

sudo netstat -tulpn | grep :23

e cole a saída.

De outro ângulo: qual biblioteca de jogos PHP você está usando?

0xF2
fonte
Bem! Parece que podemos chegar a algum lugar.
Jerome
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
Jerome
A biblioteca de jogos PHP é chamada NAGS, e parece que, com base em alguns e-mails com seu criador, ainda está em si mesma em um estado menos que completo. Mas estou interessado em levar esse problema até a linha de chegada com as informações que recolho ao longo do caminho.
Jerome
1

Nota: Eu só fui por aí procurando por servidor MUD com NAGS biblioteca de jogos e encontrei este: nags-php-mud. Minha resposta é irrelevante se você estiver usando outra coisa.

O config.phpteve a seguinte configuração:

<?
    /*Modify the setting here to set up your game server */
    $configarray = array(
        'DB_HOST' => 'localhost',
        'DB_USERNAME' => 'nags',
        'DB_PASSWORD' => 'password',
        'DB_DATABASE' => 'nags',
        'IP_ADDRESS' => '0.0.0.0',
        'SERVER_PORT' => '4000',
        'SERVER_NAME' => 'NAGS GAMING SYSTEM',
);?>

Portanto, o número da porta é 4000. Você pode tentar atualizar o endereço IP para 127.0.0.1conectar-se à porta 4000 usando o telnet:telnet 127.0.0.1 4000

Atualizado
No comando acima, você possuitelnet localhoste nãotelnet localhost 4000.
Tentei executá-lo, mas estou tendo algum problema. Ele exibe o seguinte e não consigo rastreá-lo:

PHP Notice:  Undefined index: quiet in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34  
PHP Notice:  Undefined index: q in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34
PHP Notice:  Undefined index: deamon in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined index: d in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined property: MAIN::$MESSAGE in /home/blvdeer/Downloads/nags-php-mud-master/modules/main.php on line 158
SYSTEM: (LOAD MODULE)   MESSAGE
SYSTEM: (LOAD MODULE)   CONFIGURE
SYSTEM: (LOAD MODULE)   DATABASE
blvdeer
fonte
É exatamente o que eu tenho feito, sem resultados positivos.
Jerome
Atualizado a resposta. Também na pergunta, você mencionou em telnet localhostvez detelnet localhost 4000
blvdeer
Sim, espero receber notícias do desenvolvedor da biblioteca NAGS. Quanto ao problema específico do telnet (para 4000 ou 23 ou qualquer porta), ainda há sugestões.
Jerome
-2

Tente com telnet localhost 80 Onde 80 é a porta na qual seu servidor está executando. Eu tentei com 80 portas para o servidor apache e funciona.

Também pode ser necessário usar as opções -K e -X. Leia mais sobre eles no telnet man

Abhijit N
fonte
3
O Apache é um servidor da Web e a porta 80 é a porta para HTTP. O Telnet trabalha para conectar-se a uma variedade de servidores, pois é um protocolo muito básico - você pode inserir manualmente comandos para HTTP, SMTP e assim por diante. Porta 23 é a porta do telnetd. Portanto, não há razão para esperar que ele esteja em execução na porta 80. Às vezes, as pessoas executam servidores não HTTP na porta 80 para permitir que os clientes contornem as restrições de firewall de saída, mas não há indicação de que está acontecendo aqui. Aqui, o OP configurou o servidor. É improvável que os servidores telnet e MUD escutem na porta 80 sem serem configurados para isso.
Eliah Kagan
2
Além disso, não é um servidor em execução na porta 23 aqui, porque a conexão foi feita. Foi encerrado depois disso. Se o servidor estivesse em execução em uma porta diferente e não houvesse nada escutando na porta 23, a conexão seria recusada.
Eliah Kagan 11/01
Sim, estamos fazendo a conexão, mas ela está fechada. Me fez originalmente pensar que havia algum motivo de segurança.
Jerome