Um servidor Telnet pode detectar o cliente que está sendo usado através do protocolo?


Respostas:


14

Não há User-Agent, mas existem algumas opções de protocolo Telnet para o envio de informações do cliente:

  • TERMINAL TYPE- mostra o tipo de terminal usado (por exemplo, xterm, urxvt, screen-256color ...) Você não pode realmente se livrar disso sem quebrar as coisas. O mesmo vale para o NAWSrelatório do tamanho da janela (colunas × linhas).

  • OLD-ENVIRONe NEW-ENVIRON- pode revelar algumas variáveis ​​de ambiente específicas; alguns clientes também revelam seu FQDN em uma variável $ DISPLAY falsa. Enviar o código do idioma do sistema configurado ($ LANG, $ LC_ *) ou fuso horário ($ TZ) também não é incomum.

  • XDISPLOC - semelhante ao acima, alguns clientes enviam seu FQDN como o local de exibição do X11.

  • Se algum dos recursos de autenticação estiver ativado, eles poderão revelar o nome de usuário do seu sistema operacional.

  • Finalmente, todo o conjunto de opções reconhecidas varia entre as implementações e pode ser usado como uma impressão digital aproximada do estilo Panopticlick.

geada $ echo $ DISPLAY
: 0

geada $ telnet
telnet> definir opções
Mostrará o processamento da opção.
telnet> abra m-net.arbornet.org
Tentando 162.202.67.157 ...
Conectado ao m-net.arbornet.org.
O caractere de escape é '^]'.
ENVIADO PARA A SUPRESSÃO IR À FRENTE
ENVIADO TERÁ TIPO DE TERMINAL
ENVIADO NAWS
ENVIADO SERÁ TSPEED
ENVIADO FLUXO
ENVIADO O MODO DE LINHA
ENVIADO NOVO-AMBIENTE
SENT DO STATUS
ENVIADO XDISPLOC
RCVD DO AUTHENTICATION
ENVIADO NÃO AUTENTICAÇÃO
RCVD SUPRIMIRÁ IRÃO
RCVD DO TIPO DE TERMINAL
RCVD DO NAWS
ENVIADO IAC SB NAWS 0 95 (95) 0 46 (46)
RCVD DO TSPEED
RCVD DO LFLOW
RCVD DO LINEMODE
ENVIADO IUP SB LINEMODE SLC SYNCH NOSUPPORT 0; VARIÁVEL IP | FLUSHIN | FLUSHOUT 3; AO VARIÁVEL 15; AYT NOSUPPORT 0; ABAIXAR VARIÁVEL | FLUSHIN | FLUSHOUT 28; EOF VARIÁVEL 4; VARIÁVEL SUSP | FLUSHIN 26; VARIÁVEL CE 127; EL VARIABLE 21; EW VARIÁVEL 23; RP VARIÁVEL 18; Variável 22 do próximo; XON VARIÁVEL 17; XOFF VARIÁVEL 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0;
ENVIADO PARA A SUPRESSÃO IR À FRENTE
RCVD DO NEW-AMBIENTE
RCVD ESTARÁ STATUS
RCVD DO XDISPLOC
RCVD SERÁ CRIPTOGRAFADO
ENVIADO NÃO CRIPTOGRAFIA
RCVD DO ANTI-ENVIRON 
ENVIADO NÃO ANTI-ENVIRON
RCVD IAC SB ENVIO DE VELOCIDADE DO TERMINAL
A VELOCIDADE TERMINAL DO IAC SB É 38400,38400
RCVD IAC SB X-DISPLAY-LOCATION ENVIAR
ENVIADO A LOCALIZAÇÃO DO X-DISPLAY DO IAC SB É "frost.nullroute.eu.org/0"
RCVD IAC SB NEW-ENVIRON ENVIAR 
ENVIADO IAC SB NEW-ENVIRON É VAR "VALOR" EXIBIDO "" frost.nullroute.eu.org/0 "
RCVD IAC SB TERMINAL-TIPO ENVIAR
ENVIADO O TIPO DE TERMINAL IAC SB É "XTERM-256COLOR"
RCVD DO ECHO
ENVIADO NÃO ECHO
RCVD ECHO
SENT DO ECHO
RCVD IAC SB DESLIGAMENTO-CONTROLE DE FLUXO
RCVD IAC SB CONTROLE DE FLUXO DE RETORNO-XON
RCVD NÃO LINEMODE
ENVIADO NÃO MODO DE LINHA
RCVD IAC SB LINEMODE SLC IP VARIÁVEL | ACK | FLUSHIN | FLUSHOUT 3; AO VARIÁVEL | ACK 15; Abortar variável | ACK | FLUSHIN | FLUSHOUT 28; VARIÁVEL EOF | ACK 4; VARIÁVEL SUSP | ACK | FLUSHIN 26; VARIÁVEL CE | ACK 127; EL VARIABLE | ACK 21; VARIÁVEL EW | ACK 23; RP VARIÁVEL | ACK 18; PRÓXIMO VARIÁVEL | ACK 22; XON VARIÁVEL | ACK 17; VARIÁVEL XOFF | ACK 19;

FreeBSD / i386 (m-net.arbornet.org) (pts / 5)

Conecte-se: 

2
excelente resposta. quando li man telneto bug só listado é: The source code is not comprehensible. Curioso se alguém já escreveu um up para o cliente data em outra coisa senão C.
Thufir

3
Isso não seria muito útil, já que o próprio protocolo também está desatualizado, como a maioria dos servidores ... O SSHv2 é o substituto moderno. // observe também que existem vários clientes diferentes chamados "telnet" - inetutils-telnet e netkit-telnet, entre outros.
user1686

11
Embora, em uma nota relacionada, SSH faz ter uma string user-agent.
user1686

11
O telnet @grawity ainda é bastante utilizado, por exemplo, para diagnóstico. Está se tornando um pouco menos comum graças à proliferação do TLS (em favor do OpenSSL -connect), mas ainda existem muitos usos válidos para uma conexão de texto razoavelmente simples, como o telnet fornece quando invocado em um servidor não-telnet. Obviamente, o que você quer dizer é que o telnet não é simplesmente software, é um protocolo; é um pouco como chamar HTTP de um navegador da web.
um CVn 05/04

11
@ MichaelKjörling Mas quando o comando telnet é usado para depurar a comunicação de rede, ele não está realmente falando o protocolo telnet. Com o cliente de telnet, acabei de testar simplesmente dizer a qual número de porta conectar-se fará com que ele mude de comportamento.
kasperd
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.