Un server Telnet può rilevare il client utilizzato tramite il protocollo?


Risposte:


14

Non esiste alcun agente utente, ma esistono alcune opzioni del protocollo Telnet per l'invio delle informazioni sul client:

  • TERMINAL TYPE- mostra il tipo di terminale utilizzato (es. Xterm, urxvt, screen-256color ...) Non puoi davvero liberartene senza rompere le cose. Lo stesso vale per il NAWSquale riporta le dimensioni della finestra (colonne × righe).

  • OLD-ENVIRONe NEW-ENVIRON- può rivelare alcune variabili d'ambiente specifiche; alcuni client rivelano anche il loro nome di dominio completo in una variabile $ DISPLAY falsa. Anche l'invio delle impostazioni internazionali di sistema configurate ($ LANG, $ LC_ *) o del fuso orario ($ TZ) non è insolito.

  • XDISPLOC - come sopra, alcuni client inviano il tuo nome di dominio completo come posizione di visualizzazione dell'X11.

  • Se una delle funzionalità di autenticazione è abilitata, può rivelare il tuo nome utente del sistema operativo.

  • Infine, l'intera serie di opzioni riconosciute varia tra le implementazioni e può essere utilizzata come impronta digitale in stile Panopticlick.

frost $ echo $ DISPLAY
: 0

frost $ telnet
telnet> imposta opzioni
Mostrerà l'elaborazione delle opzioni.
telnet> apri m-net.arbornet.org
Prova 162.202.67.157 ...
Collegato a m-net.arbornet.org.
Il carattere di escape è '^]'.
INVIATO SOPPRESSO ANDARE AVANTI
INVIATO TIPO DI TERMINALE
INVIATO NAWS
INVIATO TSPEED
INVIATO LFLOW
INVIATO LINEMODE
INVIATO NEW-ENVIRON
STATO INVIATO
INVIATO XDISPLOC
RCVD DO AUTENTICAZIONE
AUTENTICAZIONE WONT INVIATA
RCVD ELIMINERÀ AVANTI
RCVD DO TIPO DI MORSETTO
RCVD DO NAWS
INVIATO IAC SB NAWS 0 95 (95) 0 46 (46)
RCVD DO TSPEED
RCVD DO LFLOW
RCVD DO LINEMODE
INVIATO IAC SB LINEMODE SLC SYNCH NOSUPPORT 0; VARIABILE IP | FLUSHIN | FLUSHOUT 3; AO VARIABLE 15; AYT NOSUPPORT 0; ABORT VARIABLE | FLUSHIN | FLUSHOUT 28; EOF VARIABLE 4; SUSP VARIABLE | FLUSHIN 26; EC VARIABLE 127; EL VARIABLE 21; EW VARIABLE 23; RP VARIABLE 18; LNEXT VARIABLE 22; XON VARIABLE 17; XOFF VARIABLE 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0;
INVIATO SOPPRESSO ANDARE AVANTI
RCVD DO NEW-ENVIRON
RCVD STATUS
RCVD DO XDISPLOC
RCVD ENCRIRÀ
INVIATO NON CREDERE
RCVD DO OLD-ENVIRON 
INVIATO OLD-ENVIRON
RCVD IAC SB INVIO TERMINALE VELOCITÀ
INVIATO IAC SB TERMINAL-SPEED IS 38400.38400
RCVD IAC SB INVIO X-DISPLAY-LOCATION
INVIATO IAC SB X-DISPLAY-LOCATION È "frost.nullroute.eu.org:0"
RCVD IAC SB INVIO NEW-ENVIRON 
INVIATO IAC SB NEW-ENVIRON È DIVERSO VALORE "DISPLAY" "frost.nullroute.eu.org:0"
INVIO RCVD IAC SB TIPO TERMINALE
INVIATO IAC SB IL TIPO DI TERMINALE È "XTERM-256COLORE"
RCVD DO ECHO
INVIATO ECHO
RCVD ECHO
INVIATO ECHO
RCVD IAC SB TOGGLE-FLOW-CONTROL OFF
RCVD IAC SB TOGGLE-FLOW-CONTROL RESTART-XON
RCVD DONT LINEMODE
INVIATO LINEMODE WONT
RCVD IAC SB LINEMODE SLC IP VARIABILE | ACK | FLUSHIN | FLUSHOUT 3; AO VARIABLE | ACK 15; ABORT VARIABLE | ACK | FLUSHIN | FLUSHOUT 28; EOF VARIABLE | ACK 4; SUSP VARIABLE | ACK | FLUSHIN 26; EC VARIABLE | ACK 127; EL VARIABLE | ACK 21; EW VARIABLE | ACK 23; RP VARIABLE | ACK 18; LNEXT VARIABLE | ACK 22; XON VARIABLE | ACK 17; XOFF VARIABLE | ACK 19;

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

accesso: 

2
risposta eccellente. quando leggo man telnetl'unico bug elencato è: The source code is not comprehensible. Curioso se qualcuno abbia mai scritto un client aggiornato in qualcosa di diverso da C.
Thufir

3
Non sarebbe molto utile, dato che anche il protocollo stesso è obsoleto, come lo sono la maggior parte dei server ... SSHv2 è il rimpiazzo moderno. // nota inoltre che esistono diversi client chiamati "telnet" - inetutils-telnet e netkit-telnet, tra gli altri.
user1686

1
Anche se, in una nota correlata, SSH ha avere una stringa user-agent.
user1686

1
Tuttavia, @grawity telnet è ancora molto utile, ad esempio per la diagnostica. Sta diventando un po 'meno comune grazie alla proliferazione di TLS (a favore, ad esempio, OpenSSL -connect), ma ci sono ancora molti usi validi per una connessione di testo ragionevolmente semplice come Telnet ti dà quando viene invocato contro un server non Telnet. Ovviamente, il tuo punto rimane che telnet non è semplicemente un software, è un protocollo; è un po 'come chiamare un browser web HTTP.
un CVn

1
@ MichaelKjörling Ma quando il comando telnet viene utilizzato per il debug della comunicazione di rete, in realtà non sta parlando del protocollo telnet. Con il client Telnet ho appena provato semplicemente dicendogli a quale numero di porta connettersi causerà un cambiamento nel comportamento.
Kasperd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.