Telnetサーバーは、プロトコルを介して使用されているクライアントを検出できますか?


回答:


14

User-Agentはありませんが、クライアント情報を送信するためのTelnetプロトコルオプションがいくつかあります。

  • TERMINAL TYPE–使用されている端末タイプを表示します(例:xterm、urxvt、screen-256color ...)物事を壊さずにこれを本当に取り除くことはできません。同じことがNAWSウィンドウサイズ(列×行)を報告します。

  • OLD-ENVIRONおよびNEW-ENVIRON–特定の環境変数を明らかにすることができます。一部のクライアントは、偽の$ DISPLAY変数でFQDNを明らかにします。設定したシステムロケール($ LANG、$ LC_ *)またはタイムゾーン($ TZ)を送信することも珍しくありません。

  • XDISPLOC –上記と同様に、一部のクライアントはX11表示場所としてFQDNを送信します。

  • 認証機能のいずれかが有効になっている場合、OSのユーザー名が明らかになる可能性があります。

  • 最後に、認識されたオプションのセット全体は実装によって異なり、大まかなPanopticlickスタイルの指紋として使用できます。

frost $エコー$ DISPLAY
:0

frost $ telnet
telnet> オプションの設定
オプション処理を表示します。
telnet> m-net.arbornet.orgを開く
162.202.67.157を試行しています...
m-net.arbornet.orgに接続されています。
エスケープ文字は「^]」です。
SEND DO SUPPRESS GO AHEADを送信しました
送信される端末タイプ
SENT WILL NAWS
送信されます
SENT WILL LFLOW
SENT WILL LINEMODE
SENT WILL NEW-ENVIRON
SENT DO STATUS
XDISPLOCを送信します
RCVD DO AUTHENTICATION
送信された認証が送信されませんでした
RCVDは先行きを抑制します
RCVD DOターミナルタイプ
RCVD DO NAWS
SENT IAC SB NAWS 0 95(95)0 46(46)
RCVD DO TSPEED
RCVD DO LFLOW
RCVD DO LINEMODE
IAC SB LINEMODE SLC SYNCH NOSUPPORT 0を送信しました。IP変数| FLUSHIN | FLUSHOUT 3; AO変数15; AYT NOSUPPORT 0; 変数の中止| FLUSHIN | FLUSHOUT 28; EOF変数4; SUSP VARIABLE | FLUSHIN 26; EC変数127; エル変数21; EW変数23; RP変数18; 次の変数22; XON変数17; XOFF VARIABLE 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0;
SEND DO SUPPRESS GO AHEADを送信しました
RCVD DO NEW-ENVIRON
RCVDのステータス
RCVD DO XDISPLOC
RCVDは暗号化します
暗号化されていません
RCVD DO OLD-ENVIRON 
SENT WONT OLD-ENVIRON
RCVD IAC SBターミナル速度送信
IAC SBのTERMINAL-SPEEDが38400、38400である
RCVD IAC SB X-DISPLAY-LOCATION SEND
IAC SB X-DISPLAY-LOCATION IS "frost.nullroute.eu.org:0"を送信しました
RCVD IAC SB NEW-ENVIRON SEND 
SAC IAC SB NEW-ENVIRON IS VAR "DISPLAY" VALUE "frost.nullroute.eu.org:0"
RCVD IAC SBターミナルタイプ送信
IAC SB TERMINAL-TYPEが「XTERM-256COLOR」を送信しました
RCVD DO ECHO
SENT WONT ECHO
RCVDエコー
SENT DO ECHO
RCVD IAC SBトグルフロー制御オフ
RCVD IAC SBトグルフロー制御再起動XON
RCVD DONT LINEMODE
ラインモードを送信しませんでした
RCVD IAC SB LINEMODE SLC IP変数| ACK | FLUSHIN | FLUSHOUT 3; AO VARIABLE | ACK 15; 変数の中止| 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)

ログインする: 

2
素晴らしい答え。man telnetリストされている唯一のバグを読んだとき: The source code is not comprehensible. C以外の最新のクライアントを誰かが書いたかどうかに
興味

3
ほとんどのサーバーと同様に、プロトコル自体も古くなっているので、あまり役に立ちません。SSHv2が最新の代替品です。//また、「telnet」と呼ばれるいくつかの異なるクライアント(inetutils-telnetおよびnetkit-telnetなど)があることにも注意してください。
user1686

1
ただし、関連する注意事項として、SSHにユーザーエージェント文字列があります。
user1686

1
@grawityのtelnetは、たとえば診断など、まだ十分に活用されています。TLSの普及により(OpenSSLなどの恩恵により-connect)あまり一般的ではなくなっていますが、Telnetが非Telnetサーバーに対して呼び出された場合と同様に、適度に必要最小限のテキスト接続の有効な使用法は数多くあります。もちろん、Telnetは単なるソフトウェアではなく、プロトコルであるという点は変わりません。これは、WebブラウザのHTTPを呼び出すようなものです。
CVn 2016

1
@MichaelKjörlingただし、ネットワーク通信のデバッグにtelnetコマンドを使用する場合、実際にはtelnetプロトコルを使用していません。Telnetクライアントを使用してテストしたところ、接続するポート番号を指定するだけで動作が変更されました。
kasperd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.