Fingerプロトコル

TCP/IP群
アプリケーション層
カテゴリ
トランスポート層
カテゴリ
インターネット層
カテゴリ
リンク層
カテゴリ

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

Name/Fingerプロトコル

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

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

Finger ユーザー情報プロトコル

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

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

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

セキュリティ上の懸念

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

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

関連項目

脚注

  1. ^ Colbath, Sean (1990年2月20日). "Origins of the finger command". Newsgroup: alt.folklore.computers. Usenet: [email protected]. 2008年11月22日閲覧

外部リンク

  • RFC 742 (1977年12月)
  • RFC 1288 (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コマンド
ファイルとファイルシステム管理
プロセス管理
ユーザ管理/環境
テキスト処理
シェルビルトイン
通信
検索
  • find
  • grep
  • locate(英語版)
  • whatis(英語版)
  • whereis(英語版)
マニュアル
  • apropos(英語版)
  • help(英語版)
  • man
ソフトウェア開発
その他
  • bc
  • dc
  • cal
  • date
  • expr
  • false
  • lp(英語版)
  • lpr
  • od
  • sl
  • sleep
  • stty
  • true
  • tty