Como especificar a opção “terminal-speed” explicitamente no cliente GNU telnet nativo do Linux?

1

Eu gostaria de poder definir a opção de velocidade do terminal explicitamente em um cliente de telnet nativo do Linux GNU.

Algum contexto para o meu problema:

Não consigo fazer login em um host HPUX usando o telnet quando o processo de telnet é criado por um programa Java .

Quando faço telnet para o host HPUX a partir da linha de comando (do bash), consigo fazer o login e usar a sessão.

Quando eu procuro o processo de telnet a partir de Java, algo estranho acontece. Eu sou solicitado para o nome de usuário e enviá-lo. Eu também recebo a solicitação da senha. Mas, por algum motivo, o servidor de telnet não espera pela senha; ele sai da sessão antes de ser enviado.

Olhando para a troca no wireshark, vejo que assim que o cliente telnet envia um ACK para o prompt de senha, o servidor envia um pacote FIN, encerrando a sessão de inicialização.

Uma das diferenças que vejo no handshaking que leva ao prompt de senha é que o servidor solicita a velocidade do terminal. Ao executar o telnet a partir da linha de comando, a velocidade do terminal que ele envia é 38400,38400. Ao executar o telnet a partir de Java, a velocidade do terminal é 0,0.

    
por David Resnick 01.07.2009 / 10:46

3 respostas

1

Eu estou supondo que o cliente telnet precisa de um terminal para poder citar uma velocidade de terminal, e eu estou supondo que quando é iniciado a partir de Java, não há nenhum tty associado ao processo. Dependendo do seu caso de uso, você poderia tentar gerar um xterm e executar o telnet dentro dele.

Se isso não for aceitável, e você não conseguir encontrar uma maneira de definir isso explicitamente usando o cliente GNU telnet, talvez queira tentar usar uma API de telnet Java nativa mencionada por outro pôster, em vez de gerar um processo externo.

    
por 01.07.2009 / 15:59
0

Você precisará fornecer mais informações sobre o cliente de telnet java. Parece que é o próprio cliente que é a chave para descobrir como alterar essa configuração

    
por 01.07.2009 / 15:06
0

Parece que você quer um programa de emulação de terminal (como hyperterm no Windows) em vez de um cliente telnet. Talvez o Java Hyper Terminal seja o que você quer.

    
por 01.07.2009 / 16:36

Tags