Domain Name Space searcher
Igor Cakulev, Laslo Kraus, and Veljko Milutinovic
Department of Computer Engineering,
School of Electrical Engineering,
University of Belgrade,
POB 35-54,
11120 Belgrade, Serbia, Yugoslavia
E-mail:ci43591d@kiklop.etf.bg.ac.yu,
ekraus@etf.bg.ac.yu, vm@etf.bg.ac.yu
Abstract
Today more than 5,000,000 computers are inter-connected in a global Internet, comprising several millions of end-users, able to reach any of those machines just by naming it. This facility is possible thanks to the world widest distributed database, the Domain Name System, used to provide distributed applications various services,the most notable one being translating names into IP addresses and vice-versa. This happens when we use FTP or Telnet, when your gopher client follows a link to some remote server, when you click on a hypertext item and have to reach a server as defined by the URL, when you talk to someuser@some.host, etc. The program presented by this paper retrieves information from Domain Name Space about specified host, or specified domain.
Introduction
Domains are administrative entities that provide decentralized management of host naming and addressing.
In the Domain Name System (DNS) naming of computers there is a hierarchy of names. The root of system is unnamed. There are a set of what are called "top-level domain names" (TLDs). These are the generic TLDs (EDU, COM, NET, ORG, GOV, MIL, and INT), and the two letter country codes from ISO-3166. In some country domains the second levels are generic categories (such as, AC, CO, GO, and RE), in others they are based on geography. For example all hosts in School of Electrical Engineering in Belgrade belong to etf.bg.ac.yu domain, all hosts in University of Belgrade belong to bg.ac.yu domain, all hosts in the academic institutions in Yugoslavia belongs to ac.yu domain etc.
Problem definition
There are numerous search engines that are designed to locate and retrieve Internet documents that would best meet user's requests. One of the method used by search engines is to follow links from a number of documents submitted by the user and to find the most similar ones on the Internet. However, in order to reduce the search space, we assume that similar documents can be found at geographical near-by host. First iteration of finding geographical close hosts would be search for all hosts at the same domain as the starting host. Therefore, program presented by this paper has option among others, to list all hosts in specified domain.
Existing solutions
There are few programs dealing with DNS database. Perhaps most famous of them is nslookup. Unfortunately most of them are written to be used on UNIX, so the existing applications, though programs of quality, can not be used by most of PC users.
Proposed solutions
Application presented in this paper - "Host" - is written in the C programming language. Program has to be started from command line.
Usage: host [options] name [server]
where name is name of a host or domain.
Input parameters and options are:
-t type specify query type;
-v print verbose messages (-vv is very verbose)
-l special mode to generate zone listing for a zone
-L level do recursive zone listing/checking this level deep
-p use primary nameserver of zone for zone transfers
-P server give priority to preferred servers for zone transfers
-N zone do not perform zone transfer for these explicit zones
-f filename log resource record output also in given file
-r do not use recursion when querying nameserver
You should place a file in the same directory where host resides,called "resolv.cfg",
which specifies what nameserver to use.
The resolv.cfg file should look like this:
domain etfbg.ac.yu
nameserver 147.91.8.62
nameserver 147.91.8.6
Details of Proposed Solution
Program host analyzes some set of the DNS space (e.g., an entire zone) and produces reports with the results of its operation. To do this, host first performs a zone transfer, which may be recursive, getting information from a zone and all its sub-zones.This data is then analyzed as requested by the arguments given on the command line. Note that zone transfers are done by contacting authoritative name servers for that zone, so it must be possible to make this kind of request from such servers: some of them refuse zone transfers to avoid congestion.
Conclusion
The main goals determined in the beginning of the application development are achieved. Until new DNS resource record type described in RFC 1876 (to be use for geographic location of specified host.) listing hosts of the same domain is the first step in order to reduce searching space.
References
1. Request for Comments: 1032 Domain administrators guide
2. Request for Comments: 1034 Domain names - concepts and facilities
3. Request for Comments: 1035 Domain names - implementation and specification
4. Request for Comments: 1101 DNS Encoding of Network Names and Other Types
5. Request for Comments: 1183 New DNS RR Definitions
6. Request for Comments: 1912 Common DNS Data File Configuration Errors
7. Request for Comments: 1876 A Means for Expressing Location Information in the Domain Name System
8. Comer, D., Internetworking with TCP/IP - Volume III,
Prentice Hall, 1990