web-dev-qa-db-ja.com

Telnetを使用してHotmailのIMAPサーバーに接続する

Hotmailには2つの独立したIMAPポートがあるようです。

imap-mail.Outlook.com 993

そして:

imap-mail.Outlook.com 143

私の推測では、143はセキュリティで保護されておらず、993はSSLを介しています。しかし、993を超えて接続しようとすると、次のようになります。

telnet imap-mail.Outlook.com 993

画面に何も表示されません-確認メッセージも挨拶メッセージもありません。同じことを143を超えて試してみると、メッセージは表示されますが、暗号化されています。

ImapLogin

その後、ログインコマンドの発行が失敗します。

. LOGIN [email protected] mypassword

と:

. BAD Command received in Invalid state.

あいさつが届かないので、993年にはこれを入力することもできません。

なぜこれが正しく接続されていないのか、そしておそらく問題を解決する方法について誰かが私に助言できますか?

3
Paul Michaels

これは正常です; HTTPSをtelnetにしようとすると、まったく同じです443;ポート993は、TLSを使用するIMAPS用です。 TLS接続の場合( RFC 5246、7.4.1.2クライアントHello から):

クライアントが最初にサーバーに接続するとき、最初のメッセージとしてClientHelloを送信する必要があります。クライアントは、既存の接続でセキュリティパラメータを再ネゴシエートするために、HelloRequestへの応答として、または独自のイニシアチブでClientHelloを送信することもできます。

最初に挨拶することになっているため、サーバーは挨拶しません!

IMAPポート143はTLSとの接続を開始しないため、動作が異なります。接続はプレーンテキストとして開始し、クライアントは( RFC 3501、6.2.1STARTTLSを使用してTLSを要求します。

[TLS]ネゴシエーションは、サーバーからのタグ付きCRLF応答の最後のOKの直後に始まります。クライアントがSTARTTLSコマンドを発行すると、サーバーの応答が確認され、[TLS]ネゴシエーションが完了するまで、それ以上のコマンドを発行してはなりません。

例:

C: a001 CAPABILITY
S: * CAPABILITY IMAP4rev1 STARTTLS LOGINDISABLED
S: a001 OK CAPABILITY completed
C: a002 STARTTLS
S: a002 OK Begin TLS negotiation now
<TLS negotiation, further commands are under [TLS] layer>
C: a003 CAPABILITY
S: * CAPABILITY IMAP4rev1 AUTH=PLAIN
S: a003 OK CAPABILITY completed
C: a004 LOGIN joe password
S: a004 OK LOGIN completed

つまり、どちらも安全ですが、143はプレーンIMAPにも使用されるため、必ずしもそうとは限りません。


TLS経由のデバッグ接続が必要な場合は、元々telnetプロトコル用に設計されたtelnetコマンドをそのために使用することはできません。ただし、他にもいくつかのツールがあります。

  • OpenSSL

    openssl s_client -connect imap-mail.Outlook.com:993
    openssl s_client -starttls imap -connect imap-mail.Outlook.com:143
    
  • GnuTLS

    gnutls-cli imap-mail.Outlook.com -p 993
    gnutls-cli imap-mail.Outlook.com -s -p 143
    
  • ncatおよびsocatSTARTTLSはサポートされません)

    ncat --ssl imap-mail.Outlook.com 993
    socat openssl:imap-mail.Outlook.com:993 stdio
    socat ssl:imap-mail.outlool.com:993 readline
    
  • Debianでは、telnet-ssl -z ssl imap-mail.Outlook.com 993

9
Esa Jokinen