Fingerプロトコル

Name/Fingerプロトコル（ネームフィンガープロトコル）および Finger ユーザー情報プロトコルは、ユーザー情報など人間に纏わるステータスを交換するための通信プロトコル。

Name/Fingerプロトコル 
Name/Fingerプロトコルは、RFC 742（1977年12月）に基づいて David Zimmerman が  および  プログラムのインタフェースとして書いたもので、ネットワークサイト内の特定コンピュータまたは特定人物のステータスを表示するのに使われる。finger プログラムは1971年 Les Earnest が書いたもので、ネットワーク内の他のユーザーに関する情報を得たいという要望に応えたものであった。誰がログインしているかという情報は、その人にどこに行けば会えるかということを判断する材料となる。これは、ネットワーク上のプレゼンス情報技術の先駆けであった。

finger プログラム以前には、この種の情報を得るには  プログラムを使ってログインユーザーのIDなどの情報を得て、そのリストを指でたどって探す必要があった。Earnest が finger と名づけたのはこのためである。

 Finger ユーザー情報プロトコル 
Finger はTCPのポート番号 79 （十進）を使う。ローカルホストがリモートホストのFingerポートに対してTCPコネクションを確立する。リモートホストでは、そのコネクションの要求を処理するための RUIP (Remote User Information Program) が起動される。ローカルホストはRUIPにFingerクエリ仕様に基づいた1行のクエリを送信し、RUIPの応答を待つ。RUIPはそのクエリを受信して処理し、返答し、コネクションをクローズさせる。ローカルホストは答を受信すると、ローカル側のコネクションのクローズを行う。

Finger ユーザー情報プロトコルは （The Finger User Information Protocol、1991年12月）に基づいている。一般に、サーバ側の実装は （finger daemon）、クライアント側の実装は  と  があり、その時点のシステムおよび特定人物に関するステータス情報を人間が読める形式で表示する。特にフォーマットは決まっておらず、コマンド行1行ぶんの内容をプロトコルの応答として返す。UNIX、Unix系システム、最近のWindowsで実装されている。

このプログラムは、あるユーザーがログインしているか、そのメールアドレス、フルネームなどの情報を提供する。そのような標準のユーザー情報以外に、そのユーザーのホームディレクトリに  ファイルや ' ファイルがあれば、その内容も表示する。これらのファイルの内容はユーザー自身が用意するもので、そのユーザーの現在の仕事などに関する便利な情報や、何らかのユーモアを表す内容が含まれることが多い。

セキュリティ上の懸念 

メールアドレスやフルネームなどの詳細な情報はインターネット黎明期には便利だったが、最近ではプライバシーやセキュリティ上の懸念が生じている。Finger 情報はクラッカーにソーシャル・エンジニアリング攻撃の足がかりとして悪用されることが多い。Finger を利用して企業の従業員名、メールアドレス、電話番号などの一覧を得て、別の従業員のふりをして電子メールや電話で情報を聞きだすという手法が可能となる。また、fingerd 自身にもクラッカーが侵入に利用できる脆弱性がかつて存在した。モリスワームは fingerd などの脆弱性を利用して広まっていった。

以上のような理由で、かつてはよく使われていたが、1990年代にはほとんどのサイトがこのサービスを停止していった。

関連項目 
 モリスワーム

脚注

外部リンク 
 （1977年12月）
 （1991年12月）
finger(1) JM Project
 finger(1) man page（SunOS リファレンスマニュアル）
 finger(1) man page（HP-UX リファレンス）
History of the Finger protocol by Rajiv Shah
Microsoft TechNet Finger article

インターネットのプロトコル
インターネット標準
UNIXのソフトウェア
Windowsのコマンド
1977年のソフトウェア
0742