Alors que les navigateurs Web envoient, entre autres, la User-Agent
chaîne, le protocole Telnet a-t-il une méthode similaire pour déterminer quoi que ce soit au sujet du client qui s'y connecte? OS? Client Telnet spécifique? Etc.
Alors que les navigateurs Web envoient, entre autres, la User-Agent
chaîne, le protocole Telnet a-t-il une méthode similaire pour déterminer quoi que ce soit au sujet du client qui s'y connecte? OS? Client Telnet spécifique? Etc.
Réponses:
Il n'y a pas d'agent utilisateur, mais il existe quelques options de protocole Telnet pour l'envoi des informations client:
TERMINAL TYPE
- montre le type de terminal utilisé (par exemple xterm, urxvt, screen-256color ...) Vous ne pouvez pas vraiment vous en débarrasser sans casser les choses. Il en va de même pour NAWS
qui indique la taille de la fenêtre (colonnes × lignes).
OLD-ENVIRON
et NEW-ENVIRON
- peut révéler certaines variables d'environnement spécifiques; certains clients révèlent également leur nom de domaine complet dans une fausse variable $ DISPLAY. L'envoi des paramètres régionaux de votre système ($ LANG, $ LC_ *) ou du fuseau horaire ($ TZ) n'est pas rare non plus.
XDISPLOC
- similaire à ci-dessus, certains clients envoient votre FQDN comme emplacement d'affichage X11.
Si l'une des fonctionnalités d'authentification est activée, elle peut révéler votre nom d'utilisateur OS.
Enfin, l'ensemble des options reconnues varie selon les implémentations et peut être utilisé comme une empreinte digitale de style Panopticlick.
frost $ echo $ DISPLAY : 0 frost $ telnet telnet> définir les options Affiche le traitement des options. telnet> ouvrez m-net.arbornet.org Essayer 162.202.67.157 ... Connecté à m-net.arbornet.org. Le caractère d'échappement est '^]'. SENT DO SUPPRESS ALLER DE L'AVANT ENVOYÉ LE TYPE DE TERMINAL ENVOYÉ LES NAWS ENVOYÉ SERA TSPEED ENVOYÉ LFLOW ENVOYÉ LE MODE DE LIGNE ENVOYÉ LE NOUVEL ENVIRONNEMENT SENT DO STATUS ENVOYÉ SERA XDISPLOC RCVD DO AUTHENTIFICATION ENVOYÉ AUTHENTIFICATION RCVD SUPPRIMERA ALLER DE L'AVANT RCVD DO TERMINAL TYPE RCVD DO NAWS ENVOYÉ IAC SB NAWS 0 95 (95) 0 46 (46) RCVD DO TSPEED RCVD DO LFLOW RCVD DO LINEMODE SENT IAC SB LINEMODE SLC SYNCH NOSUPPORT 0; IP VARIABLE | FLUSHIN | FLUSHOUT 3; AO VARIABLE 15; AYT NOSUPPORT 0; ABORT VARIABLE | FLUSHIN | FLUSHOUT 28; EOF VARIABLE 4; SUSP VARIABLE | FLUSHIN 26; CE 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; SENT DO SUPPRESS ALLER DE L'AVANT RCVD DO NEW-ENVIRON RCVD STATUT RCVD DO XDISPLOC RCVD CRYPTERA SENT DONT ENCRYPT RCVD DO OLD-ENVIRON SENT WONT OLD-ENVIRON ENVOI DE VITESSE TERMINALE RCVD IAC SB ENVOYÉ IAC SB TERMINAL-SPEED IS 38400,38400 RCVD IAC SB X-DISPLAY-LOCATION ENVOYER ENVOYÉ IAC SB X-DISPLAY-LOCATION EST "frost.nullroute.eu.org:0" RCVD IAC SB NEW-ENVIRON ENVOYER ENVOYÉ IAC SB NEW-ENVIRON EST VAR "DISPLAY" VALUE "frost.nullroute.eu.org:0" ENVOI DE TYPE TERMINAL RCVD IAC SB ENVOYÉ LE TYPE DE TERMINAL IAC SB EST "XTERM-256COLOR" RCVD DO ECHO SENT WONT ECHO RCVD WILL ECHO SENT DO ECHO RCVD IAC SB BASCULEMENT-COMMANDE DE FLUX OFF RCVD IAC SB TOGGLE-FLOW-CONTROL RESTART-XON RCVD DONT LINEMODE ENVOYÉ WONT LINEMODE RCVD IAC SB LINEMODE SLC IP VARIABLE | ACK | FLUSHIN | FLUSHOUT 3; AO VARIABLE | ACK 15; ABORT VARIABLE | ACK | FLUSHIN | FLUSHOUT 28; EOF VARIABLE | ACK 4; SUSP VARIABLE | ACK | FLUSHIN 26; CE VARIABLE | ACK 127; EL VARIABLE | ACK 21; EW VARIABLE | ACK 23; RP VARIABLE | ACK 18; LNEXT VARIABLE | ACK 22; VARIABLE XON | ACK 17; XOFF VARIABLE | ACK 19; FreeBSD / i386 (m-net.arbornet.org) (pts / 5) s'identifier:
-connect
, par exemple ), mais il existe encore de nombreuses utilisations valides pour une connexion texte raisonnablement simple, tout comme Telnet vous donne lorsqu'elle est invoquée contre un serveur non Telnet. Bien sûr, votre argument reste que telnet n'est pas simplement un logiciel, c'est un protocole; c'est un peu comme appeler un navigateur Web HTTP.
man telnet
le seul bug répertorié est:The source code is not comprehensible.
Curieux de savoir si quelqu'un a déjà écrit un client à jour dans autre chose que C.