FOAU1 6 /RE:264 ポケ3でインターネット(5) みなさん、こんにちは。 なんとか無事に最終回を迎えることとなりました。 ということで、今回は応用編と題してお送りします。 (応用編:その1) Windows マシンを telnet サーバにする これまでに示した方法で、ポケ3をリモート telnet クライアントとすることに より、WEBやメールのサーバにアクセスできることがおわかりいただけたかと 思います。 ただ、これだと、まだちょっと自由度が低いです。例えば、メールなんていうの は、バイナリファイルが添付されていても、本質的には純粋なテキストのやり取 りなだけなので、やろうと思えば telnet クライアントだけでメールの送受信は 可能です。でも、HTTP で画像ファイルを受信するような場合、ポケ3の画面にバ イナリのデータが表示されても文字化けしたようになってしまうだけで、あまり 面白くありません。また FTP の場合、複数のコネクションを必要とするので、単 一のコネクションの telnet しか接続できないポケ3+αというハードウェア構 成ではどうしようもありません。また、メールにしたところで、ちょっと受信確 認するだけにあんなに何回もコマンドを入力するようでは面倒です。もっとも、 この場合に限って言えば、AUTOCOM あたりでマクロを組んでしまえばよいのかも しれませんが。 実は、以前の接続編で示した方法のうち、UNIX マシンにログインする場合には、 このような困難さはありません。なぜなら、ポケ3は画面とキーボードの入出力 を担当しているだけで、プログラムの実体は UNIX マシンの方で動いているから です。つまり、UNIX 用のいろいろなネットワークアプリケーションを使うことが 可能だということです。 一方、ルータを使った場合や Windows マシンを使った場合は、それらのマシンと ポケ3を合わせても、telnet という単一のネットワークアプリケーションしか使 えないわけです。 ただ、以前にもちょこっと書きましたが、自宅には常時稼動している Windows9x マシンが1台あります。そこでもう一工夫して、そのマシンを telnet のサーバ にしてみました。このようにして、ポケ3からの最初のインターネットの接続先 をその Windows マシンとすることにより、Windows 上で動く様々なネットワーク アプリケーションをポケ3から使う事ができるようになります。ただ、そのパソ コンがモデム経由でポケ3に繋がっているような場合、telnet のサーバとクライ アントを1台のマシンで兼ねるような格好になって、ちょっと効率が悪いような 気もしますが、あいにくと今のところ、シリアルポートに繋いだ端末をクライア ントとできる Windows 用の telnet サーバ、もしくはそれに類する使い勝手のよ いツールが見つかっていないのでしかたがありません。もしそのようなソフトの 情報をお持ちの方がいらっしゃいましたら、ぜひお教えいただけると幸いです。 さて、NT系の Windows であれば、OS設定をちょっといじってやれば telnet のサーバにすることが可能です。ところが、95/98/ME系の場合は、別途 サーバソフトを調達する必要があります。 ところが、Windows 用の telnet サーバなんですが、シェアウェアには高機能な ものが各種ある一方、フリーウェアに限って言えば、例えば以下のようなものぐ らいしか選択肢がありません。 超簡単 telnetd もどき for Windows95 http://www.vector.co.jp/soft/win95/net/se037305.html telnetd for Win95 http://www.threeweb.ad.jp/~ishioka/Telnetd/telnetd.shtml その他に、手元には石田修悟氏の作られたサーバソフトもあるのですが、これは 現在、WEB上では見つからないようです。まぁ、上記の2つと比べて特に目立 った特徴があるというものでもないのですが。 ここで問題なのは、これらのものはいずれも、Windows のDOS窓の標準入力と 標準出力を、単にクライアント側、すなわちこの場合はポケ3側にリダイレクト しているだけという事です。これは、以下のような大きな2つの欠点を抱えてい ることになります。 1つは、telnet のコマンドラインでリダイレクションが使えないのですね。これ ができないと、ポケ3の側からアップロードしたデータを、母艦の側でファイル に落す事ができないのです。もちろん、その先のなにかのサーバを中継させれば 可能ですが、これ以上話を複雑にしても仕方ないので、今回は、母艦のデータ、 またはインターネット上のサーバのデータの取得という事に話をしぼってみたい と思います。また、もう一つの欠点として、例えば more 等をはじめとする、対 話的な入出力が必要なものも動作しない、というものがあります。 ということで、実質的に動くものは、コマンドラインで全ての指示を与えること ができて、かつ、結果を標準出力に書き出すだけのもの、ということになります。 そして、telnet サーバにて標準出力に出力されたものは、そのままポケ3のほう でログとして取得できますので、必要に応じてそのログから情報を抽出するとい う形になります。 具体的に、telnet サーバの動いている母艦、インターネット上の各サーバ、そし てポケ3相互間でデータの転送を行うには、以下のような手順となります。 ・母艦→ポケ3  type コマンドで可能です  バイナリファイルの場合、ish 等でテキスト化する必要があります ・ポケ3→母艦  直接行う方法はまだ見つけていません。  別途、インターネット上のサーバ等を経由すれば可能かもしれません ・インターネット上のサーバ→ポケ3  標準出力に出力するツールを使用することにより可能です ・ポケ3→インターネット上のサーバ  今のところ試していません ・インターネット上のサーバ→母艦  指定したファイル名に出力できる機能のあるツールで可能です  例:wget ・母艦→インターネット上のサーバ  指定したファイル名から入力できる機能のあるツールなら可能かもしれません 上記で「可能です」と明記していないものについては、私自身がまだ試していな いものなので、もしかしたら必要な仕様を満足するツールが入手できないなどで 実現不可能かもしれません。なんとなく、kermit 使えば解決できるかもしれない ようなものがいくつかありますが、ポケ3で動く kermit の所在を知らないため、 今のところ実現不可能です。 (応用編:その2) Windows マシンの telnet サーバを使って簡易なデータ転送 さて、Windows マシンで telnet サーバが動き出すと、UNIX 並とはいかずとも、 かなりいろいろなツールが使えるようになります。ま、みなさんそれぞれ異なっ たニーズというものがあると思うのですが、私の場合、特に次のようなことを行 いたいと思っておりました。 ・ポケ3でのメール受信やWEBからのファイル取得を、telnet を使った  面倒な方法ではなく、もっと簡単に行いたい ・ポケ3でFTPサーバからのファイル取得を行いたい さて、上記にも記したとおり、インターネット上のサーバからポケ3にデータを 転送するためには、Windows 上で動き、サーバにアクセスし、結果を標準出力に 出力するツールが必要です。その手のツールって、探せばありそうな気もします が、面倒だったのでサクッと作ってしまいました。 ・メールサーバからメールを取得して標準出力に出力するツール POPOUT ・WEBサーバからファイルを取得して標準出力に出力するツール HTTPOUT ・FTPサーバからファイルを取得して標準出力に出力するツール FTPOUT ちなみに、以下の場所に公開しております。 http://www.hinocatv.ne.jp/~toshiki/computer/mysoft/ あんまりバグ取りもしていませんが、今まで自分で使った範囲では、あまり不都 合もなく動いているようです。もし、もっとまっとうなツールをご存知でしたら、 ぜひともご紹介いただけると幸いです。 以上で、この連載を終了させていただきます。 もし、ご意見ご質問等ございましたら、ぜひともレスをつけていただけると幸い です。特に、間違いの指摘等に関しては、非常に歓迎いたします。 なにとぞよろしくお願いいたします。 --- としき http://www.hinocatv.ne.jp/~toshiki/