Obtaining Host and Address Information Ron Ray Network Services Group Homewood Academic Computing Johns Hopkins University (draft manuscript) Electronic mail is one of the most popular facilities used on wide area networks. Users separated by hundreds or thousands of miles can exchange messages and documents on-line, usually in a small period of time. Like U.S. postal mail, electronic mail uses an addressing scheme to ensure correct delivery of messages. Unlike U.S. postal mail, the form of the electronic mail address varies from one network to the next. In general, an electronic mail address is composed of a username and a computer host name. Unfortunately, there is no general scheme for disseminating host names and usernames. Finding information about a host on a wide-area network can be surprisingly difficult. One common problem involves finding information about a username and a host name when only a personal name and an organization name is available. The best solution to this problem is to contact the person by mail or phone and ask for their username and network address. Unfortunately, this is not always possible. The user may not be available or they may not know their network address. Other common problems include finding a network address when only the host name is known and finding a username when the network address is known but the username is not known. If there is no way to contact the intended recipient by mail or phone, a detective game must be played using whatever resources a given network provides. These resources vary from network to network. They are often indifferently documented and sometimes several overlapping resources are available on the same network. The purpose of this document is to acquaint the reader with some of the resources that are available and how they are used. I. Bitnet. The Bitnet is a wide-area network of about 3000 hosts connected mostly by point-to-point links. Address information is probably easier to come by on the Bitnet than other wide area networks. This is due to several factors, One, all Bitnet host names are included in a single file that's kept on every host connected to the Bitnet. An organization name is usually included following the Bitnet address. It's possible to search this hosts file using the organization name as the search string, and find the host address or addresses associated with this organization. The name and location of this file should be obtained from the system administrator since it varies from system to system. Second, there is a central facility which provides a database, informational files and other resources about Bitnet. Finally, there are a variety of other hosts, called listservs, that provide files, databases of usernames and other resources. The Bitnet Information Center keeps files of host names, host information, gateways to other networks, etc. on line for retrieval. In addition, some files can be searched with a database server which will return, via mail, only those records that are selected by the search. The host name associated with the Bitnet information center is Bitnic. I.1. Netserv. A list of files available from Bitnic can be retrieved by sending the following interactive command to Bitnic's file server (named netserv): $ send netserv@Bitnic get netserv filelist ! for VMS machines running JNET tell netserv at Bitnic get netserv filelist ! for VM/CMS machines Note, most of these files are lists of other files that can be received. A particular file can be retrieved with the command: $ send netserv@Bitnic get ! for VMS machines tell netserv at Bitnic get ! for VM/CMS machines One important piece of information that can be retrieved in this fashion is the so-called node entry. This record contains things like the electronic mail address of the host administrator, the type of computer etc. Sometimes the Bitnet host name is known but the mail recipient's username is not known. In this case, the host node entry can be consulted for the postmaster's electronic mail address. The postmaster can be asked, via mail, for information about the desired address. The node entry information can be obtained with the following command: $ send netserv@Bitnic get nodentry ! for VMS machines running JNET tell netserv at Bitnic get nodentry ! for VM/CMS machines More information about using netserv at Bitnic can be obtained with the command: $ send netserv@Bitnic get helpfile ! for VMS machines running JNET tell netserv at Bitnic get helpfile ! for VM?/CMS machines It's also worth noting that netserv commands can be placed in the first line of a mail message sent to netserv@Bitnic. I.2. Database. Bitnic also provides a database server that allows selective access to its database files. One useful thing that can be done with database is to find all the Bitnet sites in a particular state. For example, the command: $ Send database@Bitnic FIND STATE DC (FORMAT NAMESFRM tell netserv at Bitnic FIND STATE DC (FORMAT NAMESFRM returns a list of all Bitnet hosts in Washington DC. Individual host information can be retrieved by sending the command: $ Send database@Bitnic FIND HOST tell database at Bitnic FIND HOST Database can also be used to search mailing list archives. More will be said about this later. Internet hosts without direct Bitnet access can send send mail commands to database@Bitnic. To do this they must register with the database server and receive a password. This procedure, as well as general database help, is provided by sending mail to database@Bitnic with the command "help" in the first line of text. I.3. Listservs. Listserv is software developed for IBM Bitnet hosts. The original function of this software was to service mailing lists. Since then the software has been updated to offer other features such as file service, user directory service , on-line help and a database server. A list of listserv servers (and other Bitnet servers) can be obtained by sending the command: $ send service@Bitnic get Bitnet servers tell service at Bitnic get Bitnet servers One of the things that is contained in this file is a list of listsrv's that have user directory services. If it's necessary to find someone's username at one of these hosts, the command: $ send listserv@ /whois tell listserv at /whois where search-string is a personal name or some substring of a personal name, will return the username associated with the search string (if its in their database). Some listserv's maintain a general user directory service for users anywhere on the Bitnet. Unfortunately, there is no simple way to find out who subscribes to these listservs. The listserv at the host marist has the largest collection of usernames since it keeps the names of anyone who who ever subscribed to a Bitnet mailing list. A list of Bitnet related files can be obtained from listserv by means of the command: $ send listserv@Bitnic get netinfo filelist tell listserv at Bitnic get netinfo filelist Listservs also have a database server. Documentation for the database server is contained in the file listdb memo. II. The Internet. The Internet is a rapidly growing wide-area network of more than 100,000 hosts. It is not really a single network. Instead, it is a network of networks, partitioned in a tree-like fashion. The partitions, and sub-partitions, etc. are called domains. Responsibility for the internet domains is largely local to the domain. Each domain has its own organization and contacts. Information about hosts associated with a domain are provided by the domain name service. Several hosts associated with a given domain are designated as nameservers for the domain. The nameservers keep information about the other hosts associated with the domain and /or other nameservers associated with further partitions of their domain. Internet hosts needing address information about hosts associated with a domain automatically query the appropriate nameserver. Note, internet hosts running old versions of the internet communications software, tcp/ip, may be unable to do this. These hosts have to resort to using large but incomplete tables of internet hosts. Overall responsibility for the internet is associated with the Network Information Center, NIC. NIC provides information about first and second level domains, manages the registration of domains and provides general support for the internet. Troubles with host names and addresses and with E-mail addresses can often be resolved by first using facilities provided by nic, such as whois, and then manually querying the Domain Name Service for local domain information. II.1. The whois database maintains information about hosts, domains and users. Information from the database can be obtained by running a whois client program from a remote host, by telneting to nic.ddn.mil and running the whois program interactively, or by sending mail to server@nic.ddn.mil with a database query in the subject line. Note, telnet is the remote login application provided with tcp/ip. Not all hosts on the internet are in the whois database. Instead, information about the top two domains is maintained. This information includes an E-mail address of a contact person for that domain. Some individual hosts and individual usernames are also registered with the NIC and therefore available from whois. Information about domains can be obtained by issuing the following command: whois domain jhu.edu ! where jhu.edu is the domain for ! which information is desired This command can be included in the subject line of a mail message sent to service@nic.ddn.mil. Information returned by this query includes the E-mail address of the responsible person for the domain, organization name and address and addresses of the domain name servers. A wildcard search can be done by including a dot or dots after the argument. This will match all records whose specified field begins with the argument. Note, a general search on all fields of the database can be achieved by leaving off the keyword argument and simply typing in the text to be searched for. For example, the following query would return several records, one of which would be the domain jhu.edu: whois jhu... If a general search is done and/or if a wildcard is used many database entries may be located. In this case a summary of the records found will be returned. Full information on a particular record can then be requested by specifying the desired record more completely as, for example, "domain jhu.edu", or by specifying the record's handle in the database query. A record's handle is a unique identifier associated with each record in the database. The handle is always enclosed in parentheses and always follows the record's name. A query of the form: whois handle net-jhu will return just the record associated with the handle net-jhu. Some record types have subdisplays associated with them. A subdisplay is simply additional information associated with a record. For example, host records have a subdisplay of registered users. The output keyword of "expand" forces the output of all subdisplays associated with a record. The following query will show all the registered users associated with the host jhunix.hcf.jhu.edu: whois host expand jhunix.hcf.jhu.edu If some information is known about an internet hosts domain, organization name, or other associated field, whois can be used to initiate a hierarchical search for the necessary information. Locating the domain or network record will provide a E-mail address. Inquiries could be made to this address for other E-mail addresses associated with lower level domains or individual hosts that might be able to provide help. Alternately, the domain service addresses provided could be used with another utility called nslookup to obtain further information. Finally, the desired host or E-mail address information may be directly obtainable from whois. The proportion of registered to non-registered hosts and addresses is small, however. The query: whois help can be used to obtain more information about the use of whois. It should be noted that some client versions of whois have a different command syntax then that described above. II.2. A number of online files are kept at NIC. These include files containing addresses of responsible persons for domains, files detailing host administrator duties, etc. They can be accessed by anonymous FTP or by sending mail to service@nic.ddn.mil. To get a list of what types of files are available, send mail to service@nic.ddn.mil with the command "help" in the subject line: To retrieve a specific file, use the command "send XXX" where XXX is a fully specified filename. For example, host administrator addresses are contained in the file named hadminbyaddr.txt located in the netinfo directory. The command: send netinfo:hadminbyaddr.txt when included in the subject line of a mail message to service@nic.ddn.mil can be used to obtain the file by mail. II.3 Nslookup. Nslookup is a utility that allows users to query nameservers. It can be used to get addresses associated with host names, host names associated with addresses, mail addresses of the server manager, as well as to locate a server associated with a particular domain. Some tcp/ip implementations don't have the ability to use nameservers. Instead, they keep tables of addresses and host names. If these hosts need to access another host whose address is not in their table, they can consult someone with access to nslookup to obtain the address. Addresses associated with a particular domain name can be obtained by typing the domain name in response to the nslookup prompt. For example, the address associated with the host name jhmail.hcf.jhu.edu would be obtained as follows: $ nslookup > jhmail.hcf.jhu.edu Sometimes users will have a particular address and will want to know the host name associated with the address. To obtain a host name associated with a particular address the address is entered with the bytes reversed followed by .in-addr.arpa. For example, to get the host name associated with the address 128.220.2.7 type: $ nslookup nslookup> set query=ptr nslookup> 7.2.220.128.in-addr.arpa The nameservers allow hosts that are not really internet hosts to appear to be on the internet. This is done by means of mail exchange or MX records. Unfortunately, not all mailers can do MX lookups. When the situation occurs where a correct appearing address doesn't work with mail or where a simple nslookup query for the address doesn't work, the nameserver should be queried for the existence of an MX record. This can be done by entering: nslookup> set query=mx nslookup> enter-the-address-here If an MX record exists for an address and if a particular mailer can't do MX lookups, an address of the following form will probably work: username%mail-address@MX-address Nslookup can be used to provide information about who maintains a domain's nameserver. This user, the hostmaster, may be able to provide additional information when contacted via E-mail. If a nameserver associated with a particular domain is known, the procedure is as follows: nslookup>server enter-the-server-name-here nslookup> set debug nslookup> enter-hostname-here A variety of debugging information will be returned, one item of which is the E-mail address of the hostmaster. The relevant line of output will begin with the string "mail addr =" . The mail address is in the form: username.hostname.domain-name and will have to be changed to: username@hostname.domain-name In the above situation, the address of the nameserver associated with a given domain is often not known. A local nameserver can be used to provide this information in the debug mode by giving it a dummy address consisting of a "made-up"hostname followed by a correct domain portion of the address. For example, if information about the umd.edu domain nameservers is needed, nslookup would be placed in debug mode and given the address anything.umd.edu. The query will probably fail but the debugging information returned will include the namesever addresses associated with the domain. A listing of hosts by domain can be obtained from nslookup by using the "ls " command where domain is the domain associated with the nameserver. Bitnet users with no direct access to nslookup can still get the basic nslookup information by sending mail to nslookup@sh.cs.net. Domain style addresses can be placed in the body of the message, one per line, and mail will be returned listing all the nameserver records for the named domains. III.UUCP. The uucp software developed for Unix systems has been used to create a wide-area network. This network is even less centralized than the internet. Access to this network is gained by running uucp and getting dial-up access to another host already on the network. There are no official requirements for membership and hosts can join or leave the network in an unobtrusive fashion. This informality frequently produces problems with addressing. The Uucp project was created to deal with these problems. "Official" uucp hosts register their name with the Uucp project at host uunet. Maps of the uucp network are available from uunet and can be used by software named Pathalias to route information between uucp hosts. Formerly, users had to specify the entire route in a so called "bang style" address. A "bang style" address looks like hosta!hostb!hostc!username. A mail message sent with this address would travel to hosta, then to hostb and finally to hostc. Users connected to the uucp network rarely have to specify routing information in the E-mail address. Pathalias usually handles the routing. Occasionally, however, some problem will arise where some routing information must be obtained, such as fixing a garbled return address. In addition, since uucp hosts can have a domain style name, it is sometimes neccessary to determine whether a host is really a uucp host, or whether it's an internet host. Interactive information about a UUCP host can be obtained by sending an interactive Bitnet command of the following form: $ send/command psuvax1 uuhosts SM RSCS CMD PSUVAX1 uuhosts Information about the path to the host can similarly be obtained by: $ send/command psuvax1 uupath SM RSCS CMD PSUVAX1 uupath The UUCP maps can be examined to get items like the postmaster address, mailing address, etc. The maps are posted in the USENET group comp.mail.maps and must be unpacked or uncompressed. These maps are also available for anonymous FTP from uunet.uu.net in directory uumap. IV. Info-nets. Info-nets is a mailing list that provides information about addresses, location of users and gateways, and similar matters. Questions can be sent to the list and experienced members of the list will attempt to provide answers. The list can be subscribed to by sending a subscription request to info-nets-requests@think.com. Questions are addressed to info-nets@think.com. Questions that include as much information as possible, such as full headers of bounced mail messages, etc. are most likely to be answered. Archives of info-nets questions and answers are kept on some Bitnet servers, such as the one at Bitnic. Users can request these files using the interactive netserv or listserv commands outlined in the beginning of this document. A list of the archives can be obtained with the interactive command: $ send listserv@Bitnic get notebook filelist tell listserv at bitnic get notebook filelist This returns a list of all the archive files stored on Bitnic. Each archive or notebook is named infonets logXXXX where XXXX is a date like 8909. For example, the infonets archive for September 1989 can be obtained with the interactive command: $ send listserv@Bitnic get infonets log8909 tell listserv at Bitnic get infonets log8909 In addition, the archives can be searched using the database server at Bitnic. A text search for the string china would be formatted as follows: $ send database@Bitnic find text China (in infonets tell listserv at Bitnic find text China (in infonets Remember, internet hosts without direct Bitnet access can send mail commands to database. To do this they must register with database and receive a password. This procedure, as well as general database help, is provided by sending mail to database@Bitnic with the command "help" in the first line of text. The listserv database server, Ldbase, can be also be accessed via E-mail (see section I.3.) and used to search infonets archives. V. Further information. Several books have recently been published which provide information about networks, gateways, addresses and network resources. They are listed below. The Matrix: Computer Networks and Conferencing Systems Worldwide by John S. Quarterman, Digital Press, 1989. Users' Directory of Computer Networks by Tracy Lynn LaQuey, Digital Press, 1989. A Guide to Electronic Mail Networks and Addressing by Donnalyn Frey and Rick Adams, O'Reilly & Associates, 1989.