Network Working Group G. Kessler
Request for Comments: 2151 S. Shepard
FYI: 30 Hill Associates, Inc.
Obsoletes: RFC 1739 June 1997
Category: Informational
A Primer On Internet and TCP/IP Tools and Utilities
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
Abstract
This memo is an introductory guide to many of the most commonly-
available TCP/IP and Internet tools and utilities. It also describes
discussion lists accessible from the Internet, ways to obtain
Internet and TCP/IP documents, and some resources that help users
weave their way through the Internet.
Table of Contents
1. Introduction................................................... 2
2. Nomenclature................................................... 2
3. Finding Information About Internet Hosts and Domains........... 3
3.1. NSLOOKUP.................................................. 3
3.2. Ping...................................................... 6
3.3. Finger.................................................... 8
3.4. Traceroute................................................ 9
4. The Two Fundamental Tools...................................... 12
4.1. TELNET.................................................... 12
4.2. FTP....................................................... 15
5. User Database Lookup Tools..................................... 19
5.1. WHOIS/NICNAME............................................. 19
5.2. KNOWBOT................................................... 23
6. Information Servers............................................ 24
6.1. Archie.................................................... 24
6.2. Gopher.................................................... 28
6.3. VERONICA, JUGHEAD, and WAIS............................... 30
7. The World Wide Web............................................. 31
7.1. Uniform Resource Locators................................. 34
7.2. User Directories on the Web............................... 35
7.3. Other Service Accessible Via the Web...................... 36
8. Discussion Lists and Newsgroups................................ 37
8.1. Internet Discussion Lists................................. 37
Kessler & Shepard Informational [Page 1]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
8.2. LISTSERV.................................................. 38
8.3. Majordomo................................................. 38
8.4. Usenet.................................................... 39
8.5 Finding Discussion Lists and Newsgroups.................... 40
9. Internet Documentation......................................... 41
9.1. Request for Comments (RFCs)............................... 41
9.2. Internet Standards........................................ 44
9.3. For Your Information Documents............................ 45
9.4. Best Current Practices.................................... 45
9.5. RARE Technical Reports.................................... 46
10. Perusing the Internet......................................... 46
11. Acronyms and Abbreviations.................................... 48
12. Security Considerations....................................... 49
13. Acknowledgments............................................... 49
14. References.................................................... 49
15. Authors' Address.............................................. 51
1. Introduction
This memo is an introductory guide to some of the most commonly-
available TCP/IP and Internet tools and utilities that allow users to
access the wide variety of information on the network, from
determining if a particular host is up to viewing a multimedia thesis
on foreign policy. It also describes discussion lists accessible from
the Internet, ways to obtain Internet and TCP/IP documents, and some
resources that help users weave their way through the Internet. This
memo may be used as a tutorial for individual self-learning, a step-
by-step laboratory manual for a course, or as the basis for a site's
users manual. It is intended as a basic guide only and will refer to
other sources for more detailed information.
2. Nomenclature
The following sections provide descriptions and detailed examples of
several TCP/IP utilities and applications, including the reproduction
of actual sessions using these utilities (with some extraneous
information removed). Each section describes a single TCP/IP-based
tool, it's application, and, in some cases, how it works. The text
description is usually followed by an actual sample session.
The sample dialogues shown below were obtained from a variety of
software and hardware systems, including AIX running on an IBM
RS/6000, Linux on an Intel 486, Multinet TCP/IP over VMS on a VAX,
and FTP Software's OnNet (formerly PC/TCP) running on a DOS/Windows
PC. While the examples below can be used as a guide to using and
learning about the capabilities of TCP/IP tools, the reader should
understand that not all of these utilities may be found at all TCP/IP
hosts nor in all commercial software packages. Furthermore, the user
Kessler & Shepard Informational [Page 2]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
interface for different packages will be different and the actual
command line may appear differently than shown here; this will be
particularly true for graphical user interfaces running over Windows,
X-Windows, OS/2, or Macintosh systems. Windows-based sessions are not
shown in this RFC because of the desire to have a text version of
this document; in addition, most GUI-based TCP/IP packages obscure
some of the detail that is essential for understanding what is really
happening when you click on a button or drag a file. The Internet has
many exciting things to offer but standardized interfaces to the
protocols is not yet one of them! This guide will not provide any
detail or motivation about the Internet Protocol Suite; more
information about the TCP/IP protocols and related issues may be
found in RFC 1180 [29], Comer [6], Feit [7], Kessler [14], and
Stevens [30].
In the descriptions below, commands are shown in a Courier font
(Postscript and HTML versions); items appearing in square brackets
([]) are optional, the vertical-bar (|) means "or," parameters
appearing with no brackets or within curly brackets ({}) are
mandatory, and parameter names that need to be replaced with a
specific value will be shown in italics (Postscript and HTML
versions) or within angle brackets (<>, text version). In the sample
dialogues, user input is in bold (Postscript and HTML versions) or
denoted with asterisks (**) in the margin (text version).
3. Finding Information About Internet Hosts and Domains
There are several tools that let you learn information about Internet
hosts and domains. These tools provide the ability for an application
or a user to perform host name/address reconciliation (NSLOOKUP),
determine whether another host is up and available (PING), learn
about another host's users (Finger), and learn the route that packets
will take to another host (Traceroute).
3.1. NSLOOKUP
NSLOOKUP is the name server lookup program that comes with many
TCP/IP software packages. A user can use NSLOOKUP to examine entries
in the Domain Name System (DNS) database that pertain to a particular
host or domain; one common use is to determine a host system's IP
address from its name or the host's name from its IP address. The
general form of the command to make a single query is:
nslookup [IP_address|host_name]
If the program is started without any parameters, the user will be
prompted for input; the user can enter either an IP address or host
name at that time, and the program will respond with the name and
Kessler & Shepard Informational [Page 3]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
address of the default name sever, the name server actually used to
resolve each request, and the IP address and host name that was
queried. Exit is used to quit the NSLOOKUP application.
Three simple queries are shown in the example below:
1 Requests the address of the host named www.hill.com, the World
Wide Web server at Hill Associates. As it turns out, this is not
the true name of the host, but an alias. The full name of the host
and the IP address are listed by NSLOOKUP.
2 Requests the address of host syrup.hill.com, which is the same
host as in the first query. Note that NSLOOKUP provides a "non-
authoritative" answer. Since NSLOOKUP just queried this same
address, the information is still in its cache memory. Rather than
send additional messages to the name server, the answer is one
that it remembers from before; the server didn't look up the
information again, however, so it is not guaranteed to still be
accurate (because the information might have changed within the
last few milliseconds!).
3 Requests the name of the host with the given IP address. The
result points to the Internet gateway to Australia, munnari.oz.au.
One additional query is shown in the dialogue below. NSLOOKUP
examines information that is stored by the DNS. The default NSLOOKUP
queries examine basic address records (called "A records") to
reconcile the host name and IP address, although other information is
also available. In the final query below, for example, the user wants
to know where electronic mail addressed to the hill.com domain
actually gets delivered, since hill.com is not the true name of an
actual host. This is accomplished by changing the query type to look
for mail exchange (MX) records by issuing a set type command (which
must be in lower case). The query shows that mail addressed to
hill.com is actually sent to a mail server called mail.hill.com. If
that system is not available, mail delivery will be attempted to
first mailme.hill.com and then to netcomsv.netcom.com; the order of
these attempts is controlled by the "preference" value. This query
also returns the name of the domain's name servers and all associated
IP addresses.
The DNS is beyond the scope of this introduction, although more
information about the concepts and structure of the DNS can be found
in STD 13/RFC 1034 [19], RFC 1591 [21], and Kessler [16]. The help
command can be issued at the program prompt for information about
NSLOOKUP's more advanced commands.
Kessler & Shepard Informational [Page 4]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
TECHNICAL NOTE: There are other tools that might be available on your
system or with your software for examining the DNS. Alternatives to
NSLOOKUP include HOST and DIG.
====================================================================
**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$
====================================================================
Kessler & Shepard Informational [Page 5]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
3.2. Ping
Ping, reportedly an acronym for the Packet Internetwork Groper, is
one of the most widely available tools bundled with TCP/IP software
packages. Ping uses a series of Internet Control Message Protocol
(ICMP) [22] Echo messages to determine if a remote host is active or
inactive, and to determine the round-trip delay in communicating with
it.
A common form of the Ping command, showing some of the more commonly
available options that are of use to general users, is:
ping [-q] [-v] [-R] [-c Count] [-i Wait] [-s PacketSize] Host
where:
-q Quiet output; nothing is displayed except summary
lines at startup and completion
-v Verbose output, which lists ICMP packets that are
received in addition to Echo Responses
-R Record route option; includes the RECORD_ROUTE
option in the Echo Request packet and displays the route buffer
on returned packets
-c Count Specifies the number of Echo Requests to be sent
before concluding test (default is to run until interrupted
with a control-C)
-i Wait Indicates the number of seconds to wait between
sending each packet (default = 1)
-s PacketSize Specifies the number of data bytes to be sent;
the total ICMP packet size will be PacketSize+8 bytes due to
the ICMP header (default = 56, or a 64 byte packet)
Host IP address or host name of target system
In the first example below, the user pings the host
thumper.bellcore.com, requesting that 6 (-c) messages be sent, each
containing 64 bytes (-s) of user data. The display shows the round-
trip delay of each Echo message returned to the sending host; at the
end of the test, summary statistics are displayed.
Kessler & Shepard Informational [Page 6]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
In the second example, the user pings the host smcvax.smcvt.edu,
requesting that 10 messages be sent in quite mode (-q). In this case,
a summary is printed at the conclusion of the test and individual
responses are not listed.
TECHNICAL NOTE: Older versions of the Ping command, which are still
available on some systems, had the following general format:
ping [-s] {IP_address|host_name} [PacketSize] [Count]
In this form, the optional "-s" string tells the system to
continually send an ICMP Echo message every second; the optional
PacketSize parameter specifies the number of bytes in the Echo
message (the message will contain PacketSize-8 bytes of data; the
default is 56 bytes of data and a 64 byte message); and the optional
Count parameter indicates the number of Echo messages to send before
concluding the test (the default is to run the test continuously
until interrupted).
====================================================================
**syrup:/home$ ping -c 6 -s 64 thumper.bellcore.com
PING thumper.bellcore.com (128.96.41.1): 64 data bytes
72 bytes from 128.96.41.1: icmp_seq=0 ttl=240 time=641.8 ms
72 bytes from 128.96.41.1: icmp_seq=2 ttl=240 time=1072.7 ms
72 bytes from 128.96.41.1: icmp_seq=3 ttl=240 time=1447.4 ms
72 bytes from 128.96.41.1: icmp_seq=4 ttl=240 time=758.5 ms
72 bytes from 128.96.41.1: icmp_seq=5 ttl=240 time=482.1 ms
--- thumper.bellcore.com ping statistics ---
6 packets transmitted, 5 packets received, 16% packet loss
round-trip min/avg/max = 482.1/880.5/1447.4 ms
**syrup:/home$ ping -q -c 10 smcvax.smcvt.edu
PING smcvax.smcvt.edu (192.80.64.1): 56 data bytes
--- smcvax.smcvt.edu ping statistics ---
10 packets transmitted, 8 packets received, 20% packet loss
round-trip min/avg/max = 217.8/246.4/301.5 ms
====================================================================
Kessler & Shepard Informational [Page 7]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
3.3. Finger
The Finger program may be used to find out who is logged in on
another system or to find out detailed information about a specific
user. This command has also introduced a brand new verb; fingering
someone on the Internet is not necessarily a rude thing to do! The
Finger User Information Protocol is described in RFC 1288 [32]. The
most general format of the Finger command is:
finger [username]@host_name
The first example below shows the result of fingering an individual
user at a remote system. The first line of the response shows the
username, the user's real name, their process identifier,
application, and terminal port number. Additional information may be
supplied at the option of the user in "plan" and/or "project" files
that they supply; these files are often named PLAN.TXT or
PROJECT.TXT, respectively, and reside in a user's root directory (or
somewhere in an appropriate search path).
The second example shows the result of fingering a remote system.
This lists all of the processes currently running at the fingered
system or other information, depending upon how the remote system's
administrator set up the system to respond to the Finger command.
====================================================================
**C:> finger kumquat@smcvax.smcvt.edu
[smcvax.smcvt.edu]
KUMQUAT Gary Kessler KUMQUAT not logged in
Last login Fri 16-Sep-1996 3:47PM-EDT
Plan:
===================================================================
Gary C. Kessler
Adjunct Faculty Member, Graduate College
INTERNET: kumquat@smcvt.edu
===================================================================
**C:> finger @smcvax.smcvt.edu
[smcvax.smcvt.edu]
Tuesday, September 17, 1996 10:12AM-EDT Up 30 09:40:18
5+1 Jobs on SMCVAX Load ave 0.16 0.19 0.21
Kessler & Shepard Informational [Page 8]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
User Personal Name Subsys Terminal Console Location
GOODWIN Dave Goodwin LYNX 6.NTY2 waldo.smcvt.edu
JAT John Tronoan TELNET 1.TXA5
HELPDESK System Manager EDT 2:08.NTY4 [199.93.35.182]
SMITH Lorraine Smith PINE .NTY3 [199.93.34.139]
SYSTEM System Manager MAIL 23.OPA0 The VAX Console
*DCL* SMCVX1$OPA0 The VAX Console
====================================================================
3.4. Traceroute
Traceroute is another common TCP/IP tool, this one allowing users to
learn about the route that packets take from their local host to a
remote host. Although used often by network and system managers as a
simple, yet powerful, debugging tool, traceroute can be used by end
users to learn something about the ever-changing structure of the
Internet.
The classic Traceroute command has the following general format
(where "#" represents a positive integer value associated with the
qualifier):
traceroute [-m #] [-q #] [-w #] [-p #] {IP_address|host_name}
where
-m is the maximum allowable TTL value, measured as
the number of hops allowed before the program terminates
(default = 30)
-q is the number of UDP packets that will be sent with
each time-to-live setting (default = 3)
-w is the amount of time, in seconds, to wait for
an answer from a particular router before giving up
(default= 5)
-p is the invalid port address at the remote host
(default = 33434)
The Traceroute example below shows the route between a host at St.
Michael's College (domain smcvt.edu) and a host at Hill Associates
(www.hill.com), both located in Colchester, VT but served by
different Internet service providers (ISP).
Kessler & Shepard Informational [Page 9]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
1 St. Michael's College is connected to the Internet via BBN
Planet; since the mid-1980s, BBN operated the NSF's regional ISP,
called the New England Academic and Research Network (NEARNET),
which was renamed in 1994. The first hop, then, goes to St. Mike's
BBN Planet gateway router (smc.bbnplanet.net). The next hop goes
to another BBN Planet router (denoted here only by IP address
since a name was not assigned to the device), until the packet
reaches the BBN Planet T3 backbone.
2 The packet takes two hops through routers at BBN Planet's
Cambridge (MA) facility and is then forwarded to BBN Planet in New
York City, where the packet takes four more hops. The packet is
then forwarded to BBN Planet in College Park (MD).
3 The packet is sent to BBN Planet's router at MAE-East, MFS
Datanet's Network Access Point (NAP) in Washington, D.C. MAE
stands for Metropolitan Area Exchange, and is a Fiber Distributed
Data Interface (FDDI) ring interconnecting routers from
subscribing ISPs. The packet is then forwarded to NETCOM, Hill
Associates' ISP.
4 The packet now travels through NETCOM's T3 backbone, following
links from Washington, D.C. to Chicago to Santa Clara (CA), to San
Jose (CA).
5 The packet is now sent to Hill Associates router (again, a
system designated only by an IP address since the NETCOM side of
the router was not named) and then passed to the target system.
Note that the host's real name is not www.hill.com, but
syrup.hill.com.
TECHNICAL NOTE: The original version of Traceroute works by sending a
sequence of User Datagram Protocol (UDP) datagrams to an invalid port
address at the remote host. Using the default settings, three
datagrams are sent, each with a Time-To-Live (TTL) field value set to
one. The TTL value of 1 causes the datagram to "timeout" as soon as
it hits the first router in the path; this router will then respond
with an ICMP Time Exceeded Message (TEM) indicating that the datagram
has expired. Another three UDP messages are now sent, each with the
TTL value set to 2, which causes the second router to return ICMP
Kessler & Shepard Informational [Page 10]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
TEMs. This process continues until the packets actually reach the
other destination. Since these datagrams are trying to access an
invalid port at the destination host, ICMP Destination Unreachable
Messages are returned indicating an unreachable port; this event
signals the Traceroute program that it is finished! The Traceroute
program displays the round-trip delay associated with each of the
attempts. (Note that some current implementations of Traceroute use
the Record-Route option in IP rather than the method described
above.)
As an aside, Traceroute did not begin life as a general-purpose
utility, but as a quick-and-dirty debugging aid used to find a
routing problem. The code (complete with comments!) is available by
anonymous FTP in the file traceroute.tar.Z from the host
ftp.ee.lbl.gov. (See Section 4.2 for a discussion of anonymous FTP.)
====================================================================
**SMCVAX$ traceroute www.hill.com
traceroute to syrup.hill.com (199.182.20.3), 30 hops max, 38 byte
packets
1 smc.bbnplanet.net (192.80.64.5) 10 ms 0 ms 0 ms
2 131.192.48.105 (131.192.48.105) 0 ms 10 ms 10 ms
3 cambridge1-cr4.bbnplanet.net (199.94.204.77) 40 ms 40 ms 50 ms
4 cambridge1-br1.bbnplanet.net (4.0.1.205) 30 ms 50 ms 50 ms
5 nyc1-br2.bbnplanet.net (4.0.1.121) 60 ms 60 ms 40 ms
6 nyc2-br2.bbnplanet.net (4.0.1.154) 60 ms 50 ms 60 ms
7 nyc2-br2.bbnplanet.net (4.0.1.154) 60 ms 40 ms 50 ms
8 nyc2-br1.bbnplanet.net (4.0.1.54) 70 ms 60 ms 30 ms
9 collegepk-br2.bbnplanet.net (4.0.1.21) 50 ms 50 ms 40 ms
10 maeeast.bbnplanet.net (4.0.1.18) 200 ms 170 ms 210 ms
11 fddi.mae-east.netcom.net (192.41.177.210) 60 ms 50 ms 70 ms
12 t3-2.was-dc-gw1.netcom.net (163.179.220.181) 70 ms 60 ms 50 ms
13 t3-2.chw-il-gw1.netcom.net (163.179.220.186) 70 ms 80 ms 80 ms
14 t3-2.scl-ca-gw1.netcom.net (163.179.220.190) 140 ms 110 ms 160
ms
15 t3-1.sjx-ca-gw1.netcom.net (163.179.220.193) 120 ms 130 ms 120
ms
16 198.211.141.8 (198.211.141.8) 220 ms 260 ms 240 ms
17 syrup.hill.com (199.182.20.3) 220 ms 240 ms 219 ms
SMCVAX$
====================================================================
Kessler & Shepard Informational [Page 11]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
4. The Two Fundamental Tools
The two most basic tools for Internet applications are TELNET and the
File Transfer Protocol (FTP). TELNET allows a user to login to a
remote host over a TCP/IP network, while FTP, as the name implies,
allows a user to move files between two TCP/IP hosts. These two
utilities date back to the very early days of the ARPANET.
4.1. TELNET
TELNET [27] is TCP/IP's virtual terminal protocol. Using TELNET, a
user connected to one host can login to another host, appearing like
a directly-attached terminal at the remote system; this is TCP/IP's
definition of a virtual terminal. The general form of the TELNET
command is:
telnet [IP_address|host_name] [port]
As shown, a TELNET connection is initiated when the user enters the
telnet command and supplies either a host_name or IP_address; if
neither are given, TELNET will ask for one once the application
begins.
In the example below, a user of a PC uses TELNET to attach to the
remote host smcvax.smcvt.edu. Once logged in via TELNET, the user can
do anything on the remote host that would be possible if connected
via a directly-attached terminal or via modem. The commands that are
subsequently used are those available on the remote system to which
the user is attached. In the sample dialogue below, the user attached
to SMCVAX will use basic VAX/VMS commands:
o The dir command lists the files having a "COM" file extension.
o The mail command enters the VMS MAIL subsystem; the dir command
here lists waiting mail.
o Ping checks the status of another host.
When finished, the logout command logs the user off the remote host;
TELNET automatically closes the connection to the remote host and
returns control to the local system.
It is important to note that TELNET is a very powerful tool, one that
may provide users with access to many Internet utilities and services
that might not be otherwise available. Many of these features are
accessed by specifying a port number with the TELNET command, in
addition to a host's address, and knowledge of port numbers provides
another mechanism for users to access information with TELNET.
Kessler & Shepard Informational [Page 12]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
This guide discusses several TCP/IP and Internet utilities that require
local client software, such as Finger, Whois, Archie, and Gopher. But
what if your software does not include a needed client? In some cases,
TELNET may be used to access a remote client and provide the same
functionality.
This is done by specifying a port number with the TELNET command. Just
as TCP/IP hosts have a unique IP address, applications on the host are
associated with an address, called a port. Finger (see Section 3.3
above), for example, is associated with the well-known port number 79.
In the absence of a Finger client, TELNETing to port 79 at a remote host
may provide the same information. You can finger another host with
TELNET by using a command like:
telnet host_name 79
Other well-known TCP port numbers include 25 (Simple Mail Transfer
Protocol), 43 (whois), 80 (Hypertext Transfer Protocol), and 119
(Network News Transfer Protocol).
Some services are available on the Internet using TELNET and special
port numbers. A geographical information database, for example, may
be accessed by TELNETing to port 3000 at host martini.eecs.umich.edu
and current weather information is available at port 3000 at host
downwind.sprl.umich.edu.
====================================================================
**C:> telnet smcvax.smcvt.edu
FTP Software PC/TCP tn 3.10 01/24/95 02:40
Copyright (c) 1986-1995 by FTP Software, Inc. All rights reserved
- Connected to St. Michael's College -
**Username: kumquat
**Password:
St. Michael's College VAX/VMS System.
Node SMCVAX.
Last interactive login on Monday, 16-SEP-1996 15:47
Last non-interactive login on Wednesday, 6-MAR-1996 08:19
You have 1 new Mail message.
Good Afternoon User KUMQUAT. Logged in on 17-SEP-1996 at 1:10 PM.
User [GUEST,KUMQUAT] has 3225 blocks used, 6775 available,
of 10000 authorized and permitted overdraft of 100 blocks on $1$DIA2
Kessler & Shepard Informational [Page 13]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
To see a complete list of news items, type: NEWS DIR
To read a particular item, type NEWS followed by
the name of the item you wish to read.
**SMCVAX$ dir *.com
Directory $1$DIA2:[GUEST.KUMQUAT]
BACKUP.COM;24 24 16-JUL-1990 16:22:46.68 (RWED,RWED,RE,)
DELTREE.COM;17 3 16-JUL-1990 16:22:47.58 (RWED,RWED,RE,)
EXPANDZ.COM;7 2 22-FEB-1993 10:00:04.35 (RWED,RWED,RE,)
FTSLOGBLD.COM;3 1 16-JUL-1990 16:22:48.57 (RWED,RWED,RE,)
FTSRRR.COM;2 1 16-JUL-1990 16:22:48.73 (RWED,RWED,RE,)
LOGIN.COM;116 5 1-DEC-1993 09:33:21.61 (RWED,RWED,RE,)
SNOOPY.COM;6 1 16-JUL-1990 16:22:52.06 (RWED,RWED,RE,)
SYLOGIN.COM;83 8 16-JUL-1990 16:22:52.88 (RWED,RWED,RE,RE)
SYSTARTUP.COM;88 15 16-JUL-1990 16:22:53.21 (RWED,RWED,RE,)
WATCH_MAIL.COM;1 173 10-MAY-1994 09:59:52.65 (RWED,RWED,RE,)
Total of 10 files, 233 blocks.
**SMCVAX$ mail
You have 1 new message.
**MAIL> dir
NEWMAIL
# From Date Subject
1 IN%"ibug@plainfield. 15-SEP-1996 ANNOUNCE: Burlington WWW Conference
**MAIL> exit
**SMCVAX$ ping kestrel.hill.com /n=5
PING HILL.COM (199.182.20.24): 56 data bytes
64 bytes from 199.182.20.24: icmp_seq=0 time=290 ms
64 bytes from 199.182.20.24: icmp_seq=1 time=260 ms
64 bytes from 199.182.20.24: icmp_seq=2 time=260 ms
64 bytes from 199.182.20.24: icmp_seq=3 time=260 ms
64 bytes from 199.182.20.24: icmp_seq=4 time=260 ms
----KESTREL.HILL.COM PING Statistics----
5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms) min/avg/max = 260/266/290
**SMCVAX$ logout
KUMQUAT logged out at 17-SEP-1996 13:17:04.29
Connection #0 closed
C:>
====================================================================
Kessler & Shepard Informational [Page 14]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
4.2. FTP
FTP [26] is one of the most useful and powerful TCP/IP utilities for
the general user. FTP allows users to upload and download files
between local and remote hosts. Anonymous FTP, in particular, is
commonly available at file archive sites to allow users to access
files without having to pre-establish an account at the remote host.
TELNET might, in fact, be used for this purpose but TELNET gives the
user complete access to the remote system; FTP limits the user to
file transfer activities.
The general form of the FTP command is:
ftp [IP_address|host_name]
An FTP session can be initiated in several ways. In the example shown
below, an FTP control connection is initiated to a host (the Defense
Data Network's Network Information Center) by supplying a host name
with the FTP command; optionally, the host's IP address in dotted
decimal (numeric) form could be used. If neither host name nor IP
address are supplied in the command line, a connection to a host can
be initiated by typing open host_name or open IP_address once the FTP
application has been started.
The remote host will ask for a username and password. If a bona fide
registered user of this host supplies a valid username and password,
then the user will have access to any files and directories to which
this username has privilege. For anonymous FTP access, the username
anonymous is used. Historically, the password for the anonymous user
(not shown in actual use) has been guest, although most systems today
ask for the user's Internet e-mail address (and several sites attempt
to verify that packets are coming from that address before allowing
the user to login).
The "help ?" command may be used to obtain a list of FTP commands and
help topics available with your software; although not always shown,
nearly all TCP/IP applications have a help command. An example of the
help for FTP's type command is shown in the sample dialogue. This
command is very important one, by the way; if transferring a binary
or executable file, be sure to set the type to image (or binary on
some systems).
The dir command provides a directory listing of the files in the
current directory at the remote host; the UNIX ls command may also
usually be used. Note that an FTP data transfer connection is
established for the transfer of the directory information to the
local host. The output from the dir command will show a file listing
that is consistent with the native operating system of the remote
Kessler & Shepard Informational [Page 15]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
host. Although the TCP/IP suite is often associated with UNIX, it can
(and does) run with nearly all common operating systems. The
directory information shown in the sample dialogue happens to be in
UNIX format and includes the following information:
o File attributes. The first character identifies the type of file
entry as a directory (d), link or symbolic name (l), or individual
file (-). The next nine characters are the file access permissions
list; the first three characters are for the owner, the next three
for the owner's group, and the last three for all other users.
Three access privileges may be assigned to each file for each of
these roups: read (r), write (w), and execute (x).
o Number of entries, or hard links, in this structure. This value
will be a "1" if the entry refers to a file or link, or will be
the number of files in the listed directory.
o File owner
o File owner's group.
o File size, in bytes.
o Date and time of last modification. If the date is followed by a
timestamp, then the date is from the current year.
o File name.
After the directory information has been transferred, FTP closes the
data transfer connection.
The command cd is used to change to another working directory, in
this case the rfc directory (note that file and directory names may
be case-sensitive). As in DOS, "cd .." will change to the parent of
the current directory. The CWD command successful is the only
indication that the user's cd command was correctly executed; the
show-directory (may be truncated to fewer characters, as shown)
command, if available, may be used to see which working directory you
are in.
Another dir command is used to find all files with the name
rfc173*.txt; note the use of the * wildcard character. We can now
copy (download) the file of choice (RFC 1739 is the previous version
of this primer) by using the get (or receive) command, which has the
following general format:
get remote_file_name local_file_name
FTP opens another data transfer connection for this file transfer
purpose; note that the effective data transfer rate is 93.664 kbps.
FTP's put (or send) command allows uploading from the local host to
the remote. Put is often not available when using anonymous FTP.
Kessler & Shepard Informational [Page 16]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
Finally, we terminate the FTP connection by using the close command.
The user can initiate another FTP connection using the open command
or can leave FTP by issuing a quit command. Quit can also be used to
close a connection and terminate a session.
TECHNICAL NOTE: It is important to note that different FTP packages
have different commands available and even those with similar names
may act differently. In the example shown here (using MultiNet for
VMS), the show command will display the current working directory; in
FTP Software's OnNet, show will display a file from the remote host
at the local host. Some packages have nothing equivalent to either of
these commands.
====================================================================
**SMCVAX$ ftp nic.ddn.mil
SMCVAX.SMCVT.EDU MultiNet FTP user process 3.4(111)
Connection opened (Assuming 8-bit connections)
help type
TYPE
Set the transfer type to type.
Format
TYPE type
Additional information available:
Parameters Example Restrictions
**TYPE Subtopic? parameters
TYPE
Parameters
type
Specify a value of ASCII, BACKUP, BINARY, IMAGE or LOGICAL-
BYTE.
Use TYPE ASCII (the default) for transferring text files.
Use TYPE BACKUP to set the transfer type to IMAGE and write the
local file with 2048-byte fixed length records. Use this
command to transfer VAX/VMS BACKUP save sets.
Kessler & Shepard Informational [Page 17]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
Use TYPE BINARY to transfer binary files (same as TYPE IMAGE).
Use TYPE IMAGE to transfer binary files (for example, .EXE).
Use TYPE LOGICAL-BYTE to transfer binary files to or from a
TOPS-20 machine.
**TYPE Subtopic?
**Topic?
**NIC.DDN.MIL> dir
rfc
drwxr-xr-x 2 nic 10 1024 Sep 16 23:00 gosip
drwxr-xr-x 2 nic 1 512 Mar 19 1996 home
drwxr-xr-x 2 nic 1 512 Mar 19 1996 lost+found
lrwxrwxrwx 1 nic 1 8 Mar 19 1996 mgt -> ddn-news
drwxr-xr-x 2 nic 1 1024 Sep 13 12:11 netinfo
drwxr-xr-x 4 nic 1 512 May 3 23:00 netprog
drwxr-xr-x 2 nic 1 1024 Mar 19 1996 protocols
drwxr-xr-x 2 nic 1 512 Mar 19 1996 pub
drwxr-xr-x 3 140 10 512 Aug 27 21:03 registrar
drwxr-xr-x 2 nic 1 29696 Sep 16 23:00 rfc
drwxr-xr-x 2 nic 1 5632 Sep 9 23:00 scc
drwxr-xr-x 2 nic 1 1536 Sep 16 23:00 std
drwxr-xr-x 2 nic 1 1024 Sep 16 23:00 templates
drwxr-xr-x 3 nic 1 512 Mar 19 1996 usr
cd rfc
show
dir rfc173*.txt
Kessler & Shepard Informational [Page 18]
RFC 2151 Internet & TCP/IP Tools & Utilities June 1997
get rfc1739.txt primer.txt
quit