Windows2000のtelnetサービス
Windows2000 には telnet サービスがついている。だけど、単に telnet サービスを起動しても、普通の telnet クライアントでは接続できない。それは、Windows の telnet サービスは、デフォルトで NTML 認証を行っているから。これを普通の telnet クライアントで接続できるようにするには、コントロールパネルの管理ツールにあるTelnetサーバー管理ツールで設定を変更する。Telnetサーバー管理ツールを選択するとコマンドプロンプトが起動する。
Microsoft (R) Windows 2000 (TM) (Build 2195) Telnet Server Admin (Build 5.00.99201.1) 次のオプションから 1 つを選択してください: 0) このアプリケーションを終了します 1) 現在のユーザーの一覧を表示します 2) ユーザーのセッションを終了します ... 3) レジストリの設定を表示/変更します ... 4) サービスを開始します 5) サービスを停止します [0 - 5] のいずれかの番号を入力してオプションを選択してください:
ここで「3) レジストリの設定を表示/変更します ...」を選択する。
次のオプションから 1 つを選択してください: 0) このメニューを終了します 1) AllowTrustedDomain 2) AltKeyMapping 3) DefaultDomain 4) DefaultShell 5) LoginScript 6) MaxFailedLogins 7) NTLM 8) TelnetPort [0 - 8] のいずれかの番号を入力してオプションを選択してください:
ここで「7) NTLM」を選択する。
NTLM の現在の値 = 2 この値を変更しますか? [y/n]
ここで「y」を入力する。
NTLM [ 現在の値 = 2; 使用できる値は 0、1、2 のいずれかです ] :
ここで「0」を入力する。確認してくるので、「y」を入力する。
NTLM [ 現在の値 = 2; 使用できる値は 0、1、2 のいずれかです ] :0 NTLM を 0 に設定しますか? [y/n]y Telnet サービスを再起動すると新しい設定が適用されます
すると、普通の telnet クライアントで接続できるようになる。
C:\>telnet 192.168.0.100 Trying 192.168.0.100... Connected to 192.168.0.100. Escape character is '^]'. Microsoft (R) Windows (TM) Version 5.00 (Build 2195) Welcome to Microsoft Telnet Service Telnet Server Build 5.00.99206.1 login:
でも、普通の telnet クライアントで接続できるようにはなるんだけど、文字コードの違いが原因なのか、表示が変。これは、cygwin の telnet で接続した例。
* = = = = = = = = = = = = = = = = = = = =6=0=D=0=-=B=B=7=5= = = = = = = = = = == W=e=l=c=o=m=e= =t=o= =M=i=c=r=o=s=o=f=t= =T=e=l n e t S e r v e r . * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == C=:=\=>= = = = = = = = = = = = = = = = = = = = C : \ > C : ver M i c r o s o f t W i n d o w s 2 0 0 0 [ V e r s i o n 5 . 0 0 . 2 1 95 ] C : \ >
Windows 付属の telnet クライアント(C:\Winnt\system32\telnet.exe)ならきちんと表示する。
*=============================================================== Welcome to Microsoft Telnet Server. *=============================================================== C:\> C:\> C:\>ver Microsoft Windows 2000 [Version 5.00.2195] C:\>
TeraTerm や Linux から telnet でアクセスして試したところ、表示が変になるのは cygwin の telnet だけだってことが分かった。うーむ、謎だ。
つか、Ethereal でパケットダンプしたところ、Windows telnet サーバは、1文字出力するごとに「0x00」を出力していることが分かった。例えば、「Welcome」の場合は、
57 00 65 00 6c 00 63 00 6f 00 6d 00 65 00