複製鏈接
請複製以下鏈接發送給好友

Finger

(UNIX系統中用於查詢用户情況的實用程序)

鎖定
Finger既是協議名也是應用程序名,最早產生於UNIX,通過它可以查詢互聯網上主機或用户的狀態。Finger通常被用來查詢用户是否登錄以及用户登錄的用户名、登錄時間、辦公地址、電話、郵件地址等。
外文名
Finger
功    能
查詢互聯網上主機或用户的狀態

Finger基本概念

Finger來源

Finger原是UNIX系統中用於查詢用户情況的實用程序(DOS系統也包含此命令)。UNIX系統保存了每個用户的詳細資料,包括E-mail地址、賬號、真實姓名、登錄時間、未閲讀的信件、最後一次閲讀E-mail的時間以及外出時的留言等資料。當用Finger命令查詢時,系統會將上述資料一一顯示在查詢者的終端或計算機上。
RFC1288 [Zimmerman 1991] 詳細描述了Finger協議。

Finger會話過程

Finger是一個較為簡單的TCP/IP服務,使用TCP端口79以及客户端/服務器模式進行會話。
  1. 客户端向服務器發送請求,服務器處理請求並打開到客户端的連接。
  2. 客户端發送查詢。
  3. 服務器查詢客户端請求的信息並返回結果。
  4. 服務器關閉連接。

Finger缺點

雖然Finger較為簡單,但是由於以下兩個原因,許多站點並不支持Finger服務。
  1. Finger早期版本中的一些錯誤曾被Internet蠕蟲病毒所利用,作為系統的入侵點之一。
  2. 通過Finger服務查詢到的信息,可能涉及泄露用户的隱私(如登錄名、地址、電話、登錄時間等)。

Finger命令格式

Finger作為一個簡單的用於查詢用户信息的服務,除了在UNIX系統中應用,其它一些非UNIX系統也支持Finger,不同系統之間命令的形式有所差異。
命令的一般格式為:finger [選項] [使用者] [用户@主機]
命令中各選項的含義如下:
-s 顯示用户的登錄名、實際姓名、終端名稱、寫狀態、停滯時間、登錄時間等信息。
-l 除了用-s選項顯示的信息外,還顯示用户主目錄、登錄shell、郵件狀態等信息,以及用户主目錄下的.plan.project.forward文件的內容。
-p 除了不顯示.plan文件和.project文件以外,與-l選項相同。
-m 不匹配用户實際姓名。一般情況下“用户”為登錄名,在沒有該選項的情況下也可以與實際姓名進行匹配。進行姓名匹配時,Finger命令對大小寫不敏感。
如果命令不含任何選項,則默認為-l;如果服務器沒有實現-l,則默認為-s;如果這些字段都沒有,那麼命令的輸出內容中將不包含這些字段信息。
如果命令不指定任何參數,那麼將顯示當前登錄到系統的所有用户信息。

Finger應用

Finger協議主要用於查詢互聯網上主機或者用户的信息,可以查看用户是否登錄、登錄的用户名、最近一次的登錄時間、地址電話以及一些“Project”和“Plan”信息。除此之外,Finger還可以獲取一些其它信息,如天氣預告、新聞廣告或者商品的銷售狀態等等。