Während Webbrowser unter anderem die User-Agent
Zeichenfolge senden, hat das Telnet-Protokoll eine ähnliche Methode, um etwas über den Client zu bestimmen, der eine Verbindung zu ihm herstellt? Betriebssystem? Spezifischer Telnet-Client? Usw.
Während Webbrowser unter anderem die User-Agent
Zeichenfolge senden, hat das Telnet-Protokoll eine ähnliche Methode, um etwas über den Client zu bestimmen, der eine Verbindung zu ihm herstellt? Betriebssystem? Spezifischer Telnet-Client? Usw.
Antworten:
Es gibt keinen User-Agent, aber es gibt einige Telnet-Protokolloptionen zum Senden von Clientinformationen:
TERMINAL TYPE
- zeigt den verwendeten Terminaltyp (z. B. xterm, urxvt, screen-256color ...). Sie können dies nicht wirklich loswerden, ohne Dinge zu beschädigen. Gleiches gilt für NAWS
die Fenstergröße (Spalten × Zeilen).
OLD-ENVIRON
und NEW-ENVIRON
- kann einige spezifische Umgebungsvariablen aufdecken; Einige Clients geben ihren vollqualifizierten Domänennamen auch in einer gefälschten Variablen $ DISPLAY an. Das Senden Ihres konfigurierten Systemgebietsschemas ($ LANG, $ LC_ *) oder Ihrer Zeitzone ($ TZ) ist ebenfalls keine Seltenheit.
XDISPLOC
- Ähnlich wie oben senden einige Clients Ihren vollqualifizierten Domänennamen als X11-Anzeigeort.
Wenn eine der Authentifizierungsfunktionen aktiviert ist, kann Ihr Betriebssystembenutzername angezeigt werden.
Schließlich variiert der gesamte Satz der erkannten Optionen zwischen den Implementierungen und kann als grober Fingerabdruck im Panopticlick-Stil verwendet werden.
frost $ echo $ DISPLAY : 0 Frost $ Telnet Telnet> Optionen einstellen Zeigt die Optionsverarbeitung an. telnet> öffne m-net.arbornet.org Versuch 162.202.67.157 ... Verbunden mit m-net.arbornet.org. Escape-Zeichen ist '^]'. SENT DO SUPPRESS GO AHEAD SENDET TERMINAL TYPE SENT WILL NAWS SENT WIRD TSPEED Gesendet wird fließen SENT WILL LINEMODE SENT WILL NEW-ENVIRON SENT DO STATUS SENDET XDISPLOC RCVD DO AUTHENTICATION GESENDET NICHT AUTHENTIFIZIERUNG RCVD wird vorab unterdrücken RCVD TERMINAL TYPE RCVD DO NAWS SENT IAC SB NAWS 0 95 (95) 0 46 (46) RCVD TSPEED RCVD DO LFLOW RCVD DO LINEMODE SENDEN 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; EG 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 GO AHEAD RCVD NEUE UMGEBUNG RCVD WIRD STATUS RCVD DO XDISPLOC RCVD wird verschlüsseln SENT DONT ENCRYPT RCVD DO OLD-ENVIRON SENT WONT OLD-ENVIRON RCVD IAC SB TERMINAL-SPEED SEND SEND IAC SB TERMINAL-SPEED IST 38400,38400 RCVD IAC SB X-DISPLAY-LOCATION SENDEN SENDE IAC SB X-DISPLAY-LOCATION IST "frost.nullroute.eu.org:0" RCVD IAC SB NEW-ENVIRON SENDEN SENDEN IAC SB NEW-ENVIRON IST VAR "DISPLAY" VALUE "frost.nullroute.eu.org:0" RCVD IAC SB TERMINAL-TYPE SEND SEND IAC SB TERMINAL-TYPE IST "XTERM-256COLOR" RCVD DO ECHO SENT WONT ECHO RCVD WIRD ECHO SENT DO ECHO RCVD IAC SB TOGGLE-FLOW-CONTROL OFF RCVD IAC SB TOGGLE-FLOW-CONTROL RESTART-XON RCVD NICHT LINEMODE SENT 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; 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) Anmeldung:
-connect
) etwas seltener , aber es gibt immer noch viele gültige Verwendungszwecke für eine recht einfache Textverbindung, wie sie Telnet beim Aufrufen gegen einen Nicht-Telnet-Server bietet. Natürlich bleibt Ihr Punkt, dass Telnet nicht einfach Software ist, sondern ein Protokoll. Es ist ein bisschen wie das Aufrufen eines Webbrowsers HTTP.
man telnet
den einzigen aufgelisteten Fehler lese, ist:The source code is not comprehensible.
Neugierig, ob jemand jemals einen aktuellen Client in etwas anderem als C geschrieben hat.