Hack the Stack: Using Snort and Ethereal to Master the 8 Layers of an Insecure Network

Domain Name System (DNS) is a distributed database that holds information for mapping host names to IP addresses and vice versa, as well as mail routing information. No single location on the Internet holds all of the information contained within the database. Instead, each domain name on the Internet has a DNS server that is responsible for its information. Whenever information on a host within that domain is needed, the domain s DNS server is directly or indirectly asked for the information.
The DNS protocol provides a method for querying information held within the database, as well as methods for maintaining the database. It uses both User Datagram Protocol (UDP) and TCP, depending on the particular action being performed. UDP is typically used for queries, unless the lookup or response is greater than 512 bytes.TCP is used for larger lookups and for zone transfers (discussed later in this section).
The integrity and availability of DNS is critical for the health of the Internet, because it is used in conjunction with almost every other protocol on the Internet. Whenever you check your e-mail or go to a Web site, you are usually relying on DNS to translate a host name to an IP address. If DNS records are not available or have been tampered with, you may not be able to perform these actions, or you may end up connecting to an attacker s computer instead of the intended IP address.Availability was considered while designing DNS;