Skip to main content

BASICS OF DOMAIN NAME SYSTEM


                     

Conventional name resolution transforms a DNS name into an IP address. At the highest level, this process can be considered to have two phases. In the first phase, we locate a DNS name server that has the information we need: the address that goes with a particular name. In the second phase, we send that server a request containing the name we want to resolve, and it sends back the address required.

Absolute (Fully-Qualified) and Relative (Partially-Qualified) Domain Name Specifications

We simply start at the root node and follow the sequence of subdomains down to the node in question, listing each level's labels separated by a dot. When we do this, we get single name that uniquely identifies a particular device.

Fully-Qualified Domain Names (FQDNs)
Technically, if a top-level domain “A” contains a subdomain “B” that in turn contains subdomain “C”, the full domain name for “C” is “C.B.A.”. This is called the fully-qualified domain name (FQDN) for the node. Here, the word “qualified” is synonymous with “specified”. The domain name “C.B.A.” is fully-qualified because it gives the full location of the specific domain that bears its name within the whole DNS name space.

Fully-qualified domain names are also sometimes called absolute domain names. This term reflects the fact that one can refer unambiguously to the name of any device using its FQDN from any other portion of the name space. Using the FQDN always instructs the person or software interpreting the name to start at the root and then follow the sequence of domain labels from right to left, going top to bottom within the tree.

Partially-Qualified Domain Names (PQDNs)
There are also some situations in which we may refer to a device using an incomplete name specification. This is called a partially-qualified domain name (PQDN), which means that the name only partially specifies the location of the device. By definition, a PQDN is ambiguous, because it doesn't give the full path to the domain. Thus, one can only use a PQDN within the context of a particular parent domain, whose absolute domain name is known. We can then find the FQDN of a partially-specified domain name by appending the partial name to the absolute name of the parent domain. For example, if we have the PQDN “Z” within the context of the FQDN “Y.X.”, we know the FQDN for “Z” is “Z.Y.X.”

Why bother with this? The answer is convenience. An administrator for a domain can use relative names as a short-hand to refer to devices or subdomains without having to repeat the entire full name. For example, suppose you are in charge of the computer science department at the Thapar University. The domain name for the department as a whole is “cs.thapar.edu.” and the individual hosts you manage are named after fruit.

In the DNS files you maintain you could refer to each device by its FQDN every time; for example, “apple.cs.thapar.edu.”, “mango.cs.thapar.edu.” and so on. But it's easier to tell the software “if you see a name that is not fully qualified, assume it is in the ‘cs.thapar.edu’ domain”. Then you can just call the machines “apple”, “mango”, etc. Whenever the DNS software sees a PQDN such as “kiwi” it will treat it as “kiwi.cs.thapar.edu”.

Key Concept: A fully-qualified domain name (FQDN) is a complete domain name that uniquely identifies a node in the DNS name space by giving the full path of labels from the root of the tree down to that node. It defines the absolute location of a domain. In contrast, a partially-qualified domain name (PQDN) only specifies a portion of a domain name. It is a relative name that has meaning only within a particular context; the partial name must be interpreted within that context to fully identify the node.


Differentiating FQDNs and PQDNs in DNS
Trailing dot for the null root domain is usually omitted. This is true in common parlance, and when users specify a domain name in an application; you don't use the trailing dot in your Web browser for instance,but browser do it automatically while sending request. However, within DNS itself, the dot is used to clearly distinguish a FQDN from a PQDN within DNS master files. This allows us to use both FQDNs and PQDNs together. In the example above, “apple” would refer to “apple.cs.thapar.edu.”, but “apple.com.” would refer to the fully-qualified domain name for Apple Computer, Inc. You have to be careful about watching the dots here, because “apple.com” (no trailing period) would be a PQDN, and would refer to “apple.com.cs.thapar.edu.”, and not the domain of Apple Computer.

Comments

Popular posts from this blog

Hacking Windows 10 UWP App: DLL Injection & common Vulnerabilities

I recently started working on  widows 10 Apps( Apps not Applications) security. Before diving deep in hacking terms lets try to understand what's new in Windows 10 UWP( Universal Platform) as compared to old Apps. Lets begin with how apps actually work on windows 10(desktop/tablet). Now windows 10 comes with a container only for running apps inside the isolated environment. By default, /APPCONTAINER(Linker Flag) is off. This option modifies an executable to indicate whether the app must be run in the appcontainer process-isolation environment. Specify /APPCONTAINER for an app that must run in the appcontainer environment—for example, a Windows Store app. (The option is set automatically in Visual Studio when you create a Windows Store app from a template.) For a desktop app, specify /APPCONTAINER:NO or just omit the option. The /APPCONTAINER option was introduced in Windows 8. Now there is no registry entry concept for these app in the System HIVE rather they install they own hiv...

Installing vmware-11.0 on Ubuntu 15.04 Using kernel Patch

curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch cd /usr/lib/vmware/modules/source tar -xf vmnet.tar patch -p0 -i /tmp/vmnet-3.19.patch tar -cf vmnet.tar vmnet-only rm -r *-only vmware-modconfig --console --install-all References: http://askubuntu.com/questions/605530/vmware-player-7-1-0-on-ubuntu-15-04-kernel-3-19-0-10-generic-app-loading http://askubuntu.com/questions/617704/failed-to-build-vmnet-for-kernel-3-19

SSI Injection Attack

SSIs are directives present on Web applications used to feed an HTML page with dynamic contents. They are similar to CGIs, except that SSIs are used to execute some actions before the current page is loaded or while the page is being visualized. In order to do so, the web server analyzes SSI before supplying the page to the user. The Server-Side Includes attack allows the exploitation of a web application by injecting scripts in HTML pages or executing arbitrary codes remotely. It can be exploited through manipulation of SSI in use in the application or force its use through user input fields. It is possible to check if the application is properly validating input fields data by inserting characters that are used in SSI directives, like:  Code: < ! # = / . " - > and [a-zA-Z0-9] Another way to discover if the application is vulnerable is to verify the presence of pages with extension .stm, .shtm and .shtml. However, the lack of these type of pages does not mean that th...