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 ---