1
关于 Internet 和 TCP/IP 工具与应用程序的初级读本
本备忘录状态
本备忘录为 Internet community 提供了信息,但不说明任何一种类型的
Internet 标准。它需要进一步进行讨论和建议以得到改进。发布本备忘录不受
限制。
概要
本备忘录是一个对大多数最常用的 TCP/IP 和 Internet 工具与应用程序的
介绍性手册。它还讲述了 Internet 的讨论表,获取 Internet 和 TCP/IP 文档的途
径,和一些帮助用户在 Internet 上漫游的资源。
目录
1. 介绍
2. 术语
3. 查找关于 Internet 主机和域名的信息
3.1NSLOOKUP
3.2Ping
3.3Finger
3.4Traceroute
4. 两个基本工具
4.1Telnet
4.2FTP
5.用户数据库查找工具
5.1WHOIS/NICNAME
5.2KNOWBOT
6.信息服务器
6.1Archie
6.2Gopher
6.3VERONICA,JUGHEAD 和 WAIS
7. World Wide Web
7.1 统一资源定位器
7.2Web 上的用户名录
7.3Web 上的其他服务
8.讨论列表和新闻组
8.1Internet 讨论组
8.2LISTSERV
8.3Majordomo
8.4Usenet
8.5 查找讨论列表和新闻组
9.Internet 文件
2
9.1 注释请求(RFC)
9.2 Internet 标准
9.3 For Your Information 文档
9.4 Best Current Practices
9.5RARE 技术报告
10.细读 Internet
11.缩写词
12.安全方面的考虑
13.感谢
14.参考书目
15.作者地址
1.介绍
本备忘录是一个对大多数最常用的 TCP/IP 和 Internet 工具与应用程序的
介绍性手册,它帮助用户访问丰富多样的网络信息。它还讲述了 Internet 上的
讨论表,获取 Internet 和 TCP/IP 文档的途径,和一些帮助用户在 Internet 上漫
游的资源。本备忘录也可以作为个人自学教程,一个课程循序渐进的实验室
手册,或者作为站点的基本用户手册。虽然它仅是一个基本手册,却会为更
详细的信息提供其他资源。
2.术语
下列章节提供了几个 TCP/IP 应用程序的详细例子的描述,包括实际使
用这些工具的过程的真实再现(删除了一些无关的信息)。每节描述了一个
单独的基于 TCP/IP 的工具,它的应用程序,和一些实例,还有它如何工作。
文本描述通常跟随一个实例的运行过程出现。
下面的例子取自不同的软硬件系统,包括运行在IBM RS/6000上的AIX,
运行在Intel486上的Linux,通过一台VAX机的VMS运行的Multinet TCP/IP,
和运行在DOS/Windows PC下的FTP Software's OnNet(从前的PC/TCP)。下
面的例子作为使用指南来学习关于TCP/IP工具,读者应知道不是所有这些应
用程序都能在TCP/IP主机或商业软件包中找到。此外,用户界面对不同的软
件包来说也会不同,实际命令行也会和这里演示的有所不同。这对运行在图
形界面下的用户更明显,比如Windows,X-Windows,OS/2,或Macintosh系
统。基于Windows的程序在本文档中不做演示,因为本文要求有文本版本的软
件,另外,基于GUI的TCP/IP软件包在你单击按钮或拖拽时,通常会隐含一些
细节,正是这些细节有助于实质的理解。Internet提出了许多令人激动的
事,但是它们中没有一个和协议的用户界面标准化有关。本文中不会提及任
何有关Internet协议的细节和运行机制,更多的有关TCP/IP协议及其相关信
息可以在已出版的RFC 1180 [29],Comer [6],Feit [7], Kessler [14]和
Stevens [30]中找到。
在下面的讲述中,指令用Courier字体显示,方括号([])内的项目是
可选的,直线(|)的意思是“或者”,没有用括号或大括号({})括起来的
3
参数是必要参数,需要被一个指定变量取代的参数名用斜体字或尖括号显
示,在示例的人机对话中,用户的输入用粗体或在旁边用星号(*)表示。
3.查找关于Internet主机和域名的信息
有几种工具可用来获悉关于Internet主机和域名的信息。这些工具为程
序和用户提供了下列能力:查找对应的主机名/地址(NSLOOKUP),确定其他主
机是否可以连接和使用(PING),获悉主机其他的用户(Finger), 获悉信息
包到达其他主机要经过的路径(Traceroute)。
3.1. NSLOOKUP
NSLOOKUP是许多TCP/IP软件包中的查找域名服务器程序。用户可以用
NSLOOKUP来检查域名系统(DNS)数据库中的一个指定主机或域名。最常用的
是通过主机名来确定它的IP地址,或者通过IP地址来确定它的主机名。指令
的通常格式是:
nslookup [IP_地址|主机名]
如果指令没有参数,会提示用户输入。这时用户可以输入任何IP地址或
主机名,程序会用缺省的域名服务器来回应主机名和地址。域名服务器实际
上用来解决每个对IP地址和主机名的查询。Exit用来退出NSLOOKUP程序。
下面的例子演示了3种查询:
第 一个请求主机名www.hill.com 的 地 址 , WWW 服 务 器 在 Hill
Associates。执行以后,没有真实的主机名,但是有一个别名。主机全名和
IP地址在NSLOOKUP中列出。
第二个请求主机syrup.hill.com的地址,这是第一次查询出的主机。注
意,NSLOOKUP提供了一个“non-authoritative”回应,因为NSLOOKUP刚刚查
询过相同的地址,相关信息还存在cache里。从以前的询问里查找结果比再查
询一次要快。服务器没有再次查询信息,所以它不能确保回应仍然正确(因
为信息可能就在这几毫秒内改变了!)。
第三个请求给出IP地址的主机名。结果指向了澳大利亚的Internet网
关,munnari.oz.au。
在这些人机对话后面又有一个查询。NSLOOKUP 检查了存储在 DNS 中
的信息。缺省的 NSLOOKUP 请求查询基本的地址记录(称为“记录”)来
对应主机名和 IP 地址,尽管其他信息也是可用的。在最后的查询中,例如,
用户想知道 hill.com 域名实际接收电子邮件的地址什么,因为 hill.com 没有真
实的名字。为完成这个查询,在 set 指令后面(必须小写)加了一个转换查询
到查找邮件交换(MX)记录的参数。查询显示了实际发送邮件的地址是
mail.hill.com。如果系统无效,邮件发送会首先尝试 mailme.hill.com,然后
再试 netcomsv.netcom.com,尝试查询的次序由变量“preference ”限定。
查询还返回了域名服务器的名字和所有相关的 IP 地址。
4
DNS 已经超出了本文介绍的范围,更多关于 DNS 的概念和体系结构可
以从 STD 13/RFC 1034 [19],RFC 1591 [21],和 and Kessler [16]中找
到。使用 help 指令能让程序显示有关 NSLOOKUP 的更多高级指令的信息。
技术注解:你的系统或你的软件中还有其他的工具可以用来检测 DNS。
====================================================================
**SMCVAX$ nslookup
Default Server: ns1.ner.bbnplanet.net
Address: 192.52.71.5
**> www.hill.com
Name: syrup.hill.com
Address: 199.182.20.3
Aliases: www.hill.com
**> syrup.hill.com
Non-authoritative answer:
Name: syrup.hill.com
Address: 199.182.20.3
**> 128.250.1.21
Name: munnari.OZ.AU
Address: 128.250.1.21
**> set type=MX
**> hill.com
hill.com preference = 20, mail exchanger = mail.hill.com
hill.com preference = 40, mail exchanger = mailme.hill.com
hill.com preference = 60, mail exchanger = netcomsv.netcom.com
hill.com nameserver = nameme.hill.com
hill.com nameserver = ns1.noc.netcom.net
hill.com nameserver = ns.netcom.com
mail.hill.com internet address = 199.182.20.4
mailme.hill.com internet address = 199.182.20.3
netcomsv.netcom.com internet address = 192.100.81.101
ns1.noc.netcom.net internet address = 204.31.1.1
ns.netcom.com internet address = 192.100.81.105
**> exit
SMCVAX$
5
====================================================================
3.2Ping
Ping,是Packet Internetwork Groper的缩写,是TCP/IP软件包中最常
用的工具之一。Ping使用一系列Internet控制消息协议(ICMP)[22]Echo消
息的工具,检测一台远程主机是否处于活动状态的消息,还检测与它进行通
信时往返一次的时间间隔。
Ping指令的形式,通常带有许多常用可选参数,如:
ping [-q] [-v] [-R] [-c Count] [-i Wait] [-s PacketSize] Host
这里:
-q 屏蔽输出,除了启动或结束时的摘要行外其他都不显示。
-v 详细输出,在Echo回应后还列出了接收到的ICMP信息包。
-r 记录路径选项,在Echo请求包里包含RECORD_ROUTE选项,在返回的
包中显示路径缓冲器。
-c Count 指出在结束测试之前送出的Echo请求包的数量。(缺省情况
下一直运行,直到用control-C中断。)
-i wait 指出在每个包发送中间等待的秒数(缺省=1)
-s PacketSize 指 出发送 的 字 节数,总共的 ICMP 包 的 大 小 为
PacketSize+8字节的ICMP包头(缺省=56或64字节包)
Host 目标系统的IP地址或主机名
在下面第一个例子中,用户ping主机thumper.bellcore.com,请求发送
6个(-c)消息,每个用户数据包含64字节(-s)。屏幕显示了每个发送到主
机的Echo消息往返的时间间隔,测试的最后,显示了一个统计消息。
在第二个例子中,用户ping主机smcvax.smcvt.edu,请求用屏蔽模式发
送10个消息。在此,在测试结束时显示了一个结果,但每个单独的响应没有
列出。
技术注解:旧版本的Ping指令,仍在某些系统中使用,通常形式如下:
ping [-s] {IP_address|host_name} [PacketSize] [Count]
在这里,可选参数“-s”告诉系统持续地每秒种发送一个ICMP Echo
包。可选参数PacketSize指出每个Echo消息中的字节数,(总共的ICMP包的
大小为PacketSize+8字节,缺省=56或64字节消息),可选参数Count指出在
结束测试之前送出的Echo请求包的数量。(缺省情况下一直运行,直到用
control-C中断。)
====================================================================
**syrup:/home$ ping -c 6 -s 64 thumper.bellcore.com