リモートサーバに接続できない場合の telnet による原因切り分け方法

1) telnet host port して Escape character is ... と出た後、すぐ (あるいは少しして) 接続が切れる
 → 接続後 fork() 等で落ちている
  → サーバのメモリ不足やプロセスの無限増殖を疑う

2) telnet host port して Escape character is ... と出るが、その後何も起こらない
 → SYN_ACK が返ってきている
  → カーネルは生きている。ユーザーランドの負荷が極めて高い可能性

3) telnet host port して、すぐ connection refused と出る
 → RST が返ってきている
  → port が閉じている (サーバプロセスが落ちた?) か、または accept(2) していない

4) telnet host port して、しばらくたってから connectin refused と出る
 → RST が返ってきている
  → サーバプロセスは生きているが accept(2) していない

5) telnet host port して、Operation timed out と出る
 → パケットが返ってこない
  → カーネル毎死んでいる可能性が高い
    (あるいはファイアウォールの設定をミスった)

一部適当。ツッコミ大歓迎。

3/26 追記: 4) 削除。詳細はコメント参照。