talkとは
talkは、Unixオペレーティングシステム上で、複数のユーザーがリアルタイムにテキストベースでコミュニケーションを行うためのプログラムとして登場しました。当初は単一のマルチユーザー
コンピュータ上で利用されていましたが、後に異なるマシン間のユーザー同士でも利用できるようになり、電子会議の先駆けとなりました。
後継プログラムとしては、ntalkやytalkがあり、ytalkは初めて3人以上での会話を可能にした画期的なプログラムでした。これらのプログラムの特徴として、参加者ごとにインターフェースが分割され、それぞれの入力が独立したセクションに表示される点が挙げられます。ただし、会話ログの表示順序は厳密ではなく、入力順序と表示順序が必ずしも一致しない場合がありました。
また、これらのプログラムは文字を入力すると同時に相手に送信されるため、現在の
インスタントメッセンジャーやIRCよりも、よりリアルタイムな会話に近い感覚がありました。
初期のtalkの問題点
talkは1970年代にはDEC
PDP-11コンピュータシステムで利用可能でしたが、初期バージョンではテキストがユーザーごとに区切られていませんでした。そのため、複数ユーザーが同時にタイプすると、文字が混ざり合ってしまい、会話が非常に読みにくくなるという問題がありました。当時の遅いテレタイプキーボード(最大で毎秒11文字)の制約もあり、相手の入力を待たずに書き込んでしまうことが頻繁に発生していました。
このような状況下では、長文を入力しているユーザーが相手の応答によって入力を中断させられると、文章が混線してしまい、コミュニケーションを円滑に行うことが困難でした。そのため、会話を中断させないように、相手が終わるのを待つという一種の暗黙的なエチケットが存在していました。
talkの改良
現在のUnixバージョンでは、画面をユーザーごとに分割する技術が導入され、テキストが混ざり合う問題は解消されました。これにより、各ユーザーの入力が明確に表示されるようになり、より快適な会話が可能となりました。
talkの悪用とその対策
talkプロトコルには、「flash」と呼ばれるプログラムを利用した悪用がありました。このプログラムは、不正な形式の情報を送信し、ターゲットのターミナル出力を破壊する悪質なものでした。 具体的には、通常はリクエストを送信するユーザーの名前を入力する箇所に、ターミナルコマンドを入力し、リクエストを受け取った際にそのコマンドを実行させるというものでした。
この攻撃により、被害者のディスプレイには意味不明な文字が表示され、リセットするまで使用不能になるという被害が発生していました。
しかし、最新のtalkでは、このような「flash」攻撃をブロックし、悪戯を試みたユーザーに警告メッセージを送信する機能が実装されており、安全性が向上しています。
関連情報
UNIX%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E4%B8%80%E8%A6%A7'>UNIXユーティリティの一覧
UNIX'>write (
UNIX))