Finger既是协议名也是应用程序名,最早产生于UNIX,通过它可以查询互联网上主机或用户的状态。Finger通常被用来查询用户是否登录以及用户登录的用户名、登录时间、办公地址、电话、邮件地址等。
基本概念
来源
Finger原是UNIX系统中用于查询用户情况的实用程序(DOS系统也包含此命令)。UNIX系统保存了每个用户的详细资料,包括E-mail地址、账号、真实姓名、登录时间、未阅读的信件、最后一次阅读E-mail的时间以及外出时的留言等资料。当用Finger命令查询时,系统会将上述资料一一显示在查询者的终端或计算机上。
RFC1288 [Zimmerman 1991] 详细描述了Finger协议。
会话过程
Finger是一个较为简单的TCP/IP服务,使用TCP端口79以及客户端/服务器模式进行会话。
缺点
虽然Finger较为简单,但是由于以下两个原因,许多站点并不支持Finger服务。
命令格式
Finger作为一个简单的用于查询用户信息的服务,除了在UNIX系统中应用,其它一些非UNIX系统也支持Finger,不同系统之间命令的形式有所差异。
命令的一般格式为:finger [选项] [使用者] [用户@主机]
命令中各选项的含义如下:
-s 显示用户的登录名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。
-m 不匹配用户实际姓名。一般情况下“用户”为登录名,在没有该选项的情况下也可以与实际姓名进行匹配。进行姓名匹配时,Finger命令对大小写不敏感。
如果命令不含任何选项,则默认为-l;如果服务器没有实现-l,则默认为-s;如果这些字段都没有,那么命令的输出内容中将不包含这些字段信息。
如果命令不指定任何参数,那么将显示当前登录到系统的所有用户信息。
应用
Finger协议主要用于查询互联网上主机或者用户的信息,可以查看用户是否登录、登录的用户名、最近一次的登录时间、地址电话以及一些“Project”和“Plan”信息。除此之外,Finger还可以获取一些其它信息,如天气预告、新闻广告或者商品的销售状态等等。