Servidor de telnet do Linux para não usar o handshaking do protocolo telnet

0

Estamos tentando conectar-nos ao serviço de telnet do Linux usando um programa de terminal simples; Eu suspeito que o servidor esteja configurado para o VT-100 padrão, e o servidor de telnet envia seqüências de handshake de controle, esperando que o terminal responda com suas opções suportadas, e trava esperando a resposta do terminal.

(desculpaspelamáqualidadedaimagem)

Infelizmente,oterminaléapenasumprogramadecomunicaçãoenãosabesobreoprotocolotelnet.

Existealgumamaneiradeinformaraoservidordetelnet(porexemplo,atravésdaconfiguraçãodeumtipodeterminalespecífico)paranãoiniciaraidentificaçãodaspropriedadesdoterminalremoto,masirdiretamenteparaacomunicação?

Editar:

Pleaseeditquestionwithmoredetails:Whatterminalareyouusing,what"bare communication" program is it?

O programa de comunicação abre a conexão TCP ao computador Linux para a porta 23, envia os caracteres digitados no teclado e exibe os caracteres recebidos na tela sem qualquer processamento de caracteres.

Can you run netcat on the server instead (or in addition) of telnetd, and use this to debug if the communication by itself is working

Não tenho a certeza, não controlo as duas máquinas. Mas é 100% o fato de que o terminal de execução da máquina é capaz de se conectar à máquina linux, e a máquina linux é capaz de enviar caracteres de controle do protocolo telnet (você pode vê-lo na imagem - caracteres brancos são 0xff - marcador inicial da opção telnet) . Eu não posso dizer 100% porque eu não tenho logs Wireshark, mas parece que a comunicação funciona corretamente, e é o servidor telnet que não passa pelo handshake do protocolo telnet.

Once you are connected, do you want to login, or do you want to do anything else? Can you use something safer on the terminal, e.g. ssh?

Sim, eu quero que o servidor telnet exiba "login:" pedindo para entrar no sistema. O serviço telnet na máquina linux está operacional, porque é possível registrá-lo de uma terceira máquina usando o cliente telnet - mas esse cliente telnet está ciente do protocolo telnet e responde a ele. No caso descrito acima, o programa teminal não sabe nada sobre os códigos / protocolos de controle de telnet e os exibe como caracteres sem qualquer ação adicional (resposta de acordo com o protocolo telnet).

    
por Anonymous 05.04.2018 / 22:55

1 resposta

1

Em primeiro lugar, a negociação telnet não tem nada a ver com os tipos de terminal. (Na verdade, o tipo de terminal é determinado durante a negociação do telnet.) Portanto, você não pode desabilitar o primeiro, alterando o último.

Como você pode desativá-lo depende da implementação específica do telnetd no servidor. (Eu contei cinco diferentes in.telnetds apenas no Linux, outros sistemas operacionais têm seus próprios.)

Às vezes, há uma opção de linha de comando telnetd que você pode usar na configuração do serviço (ou seja, em um arquivo systemd .service ou / etc / inetd).

Se tudo falhar, você pode simplesmente compilar sua própria versão telnetd corrigida; Todas as distros Linux têm uma maneira de reconstruir pacotes a partir da receita oficial (dpkg-buildpackage, makepkg ...)

    
por 06.04.2018 / 13:55

Tags