<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zero Intellect</title>
	<atom:link href="http://www.zerointellect.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zerointellect.com</link>
	<description>Technology Blog requiring Zero Intellect to follow !!!</description>
	<lastBuildDate>Mon, 28 Jun 2010 14:09:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Google Public DNS</title>
		<link>http://www.zerointellect.com/networking/google-public-dns/</link>
		<comments>http://www.zerointellect.com/networking/google-public-dns/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:37:36 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[8.8.4.4]]></category>
		<category><![CDATA[8.8.8.8]]></category>
		<category><![CDATA[alternate dns]]></category>
		<category><![CDATA[anycast]]></category>
		<category><![CDATA[authoritative]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[blocking]]></category>
		<category><![CDATA[control panel]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[local area network]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[network connections]]></category>
		<category><![CDATA[nsd]]></category>
		<category><![CDATA[preferred dns]]></category>
		<category><![CDATA[proprietary]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[recursive]]></category>
		<category><![CDATA[redirection]]></category>
		<category><![CDATA[resolver]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SLA]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[tld]]></category>
		<category><![CDATA[top level domain]]></category>
		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=302</guid>
		<description><![CDATA[<p> </p> <p>While I was looking for free public DNS servers the other day, I happened to come across the Google Public DNS. Reading the FAQ I gathered that it was not based upon BIND or NSD but was a proprietary DNS server written by Google.</p> <p>When you connect to your ISP, most of the time you <p>Continue reading <a href="http://www.zerointellect.com/networking/google-public-dns/">Google Public DNS</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>While I was looking for free public DNS servers the other day, I happened to come across the Google Public DNS. Reading the FAQ I gathered that it was not based upon BIND or NSD but was a proprietary DNS server written by Google.</p>
<p>When you connect to your ISP, most of the time you get an IP address and DNS servers from your ISP&#8217;s Dynamic Host Configuration Protocol (DHCP) server.</p>
<p>As per their website, Google Public DNS is a recursive DNS resolver, similar to other publicly available services, but it is not any of the following:</p>
<ul>
<li>A top-level domain (TLD) name service. Google is not an operator of top-level domain servers (generic or country-code)</li>
<li>Google Public DNS is not a third-party DNS application service provider, such as DynDNS, that hosts authoritative records for other domains.</li>
<li>Google Public DNS servers are not authoritative for any domain. Google maintains a set of other nameservers that are authoritative for domains it has registered, hosted at ns[1-4].google.com.</li>
<li>A malware-blocking service. Google Public DNS does not perform blocking or filtering of any kind.</li>
</ul>
<p> </p>
<p>To use Google Public DNS, you need to explicitly change the DNS settings in your operating system or device to use the Google Public DNS IP addresses below.</p>
<p> </p>
<blockquote><p>The Google Public DNS IP addresses are as follows:</p>
<p><strong>8.8.8.8<br />
8.8.4.4</strong></p></blockquote>
<p> </p>
<blockquote><p>You can follow the steps below to change DNS settings in the TCP/IP properties window for the required network connection. (Example below is for Windows XP)</p>
<p>1. Navigate to the Control Panel.<br />
2. Click Network and Internet Connections, then Network Connections.<br />
3. Select the connection for which you want to configure Google Public DNS. For example:<br />
- To change the settings for an Ethernet connection, right-click Local Area Connection, and click Properties.<br />
- To change the settings for a wireless connection, right-click Wireless Network Connection, and click Properties.<br />
4. Under the General Tab. Under This connection uses the following items, click Internet Protocol (TCP/IP), and then click Properties.<br />
5. Click Advanced and select the DNS tab. Note down any DNS server IP addresses already listed there and then remove all of them from this window.<br />
6. Click OK.<br />
7. Select the option Use the following DNS server addresses. If there are any IP addresses listed in the Preferred DNS server or Alternate DNS server, write them down for future reference.<br />
8. Replace those addresses with the IP addresses of the Google DNS servers: 8.8.8.8 and 8.8.4.4.<br />
9. Restart the connection you selected.</p></blockquote>
<p> </p>
<p>I tried to gather more information about the service and noted down the following:</p>
<p>- Servers spread about around the globe (obviously)<br />
- The service uses anycast routing to direct requests to the nearest DNS server<br />
- Google Public DNS can respond to requests for IPv6 addresses (AAAA requests), but it does not yet support native IPv6 transport and cannot talk to IPv6-only authoritative nameservers. Clients should use IPv4 network connections to use Google Public DNS. This is likely to change as the service evolves.<br />
- Google Public DNS is an independent service with no cross product dependencies.<br />
- No technical support is provided by google directly and the only available form of support is Google groups, a Twitter channel and telephone support.<br />
- The service is not bound by SLA at this time. </p>
<p> </p>
<p>The benefits mentioned by Google while using their DNS server are:</p>
<p>- Speed up your browsing experience<br />
- Improve your security<br />
- Get the results you expect with absolutely no redirection</p>
<p> </p>
<p>I tried the new DNS settings and was satisfied (without a few domain names not resolving), I have yet to try to calculate the difference in latency of my old DNS servers versus Google Public DNS. I expect the product to improve much more in the long run.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/google-public-dns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSD DNS Server</title>
		<link>http://www.zerointellect.com/networking/nsd-dns-server/</link>
		<comments>http://www.zerointellect.com/networking/nsd-dns-server/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:39:02 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[name server daemon]]></category>
		<category><![CDATA[nsd]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=296</guid>
		<description><![CDATA[<p> </p> <p>Although BIND is the most popular domain name server software being used today, NSD (&#8220;name server daemon&#8221;) is another popular alternative open-source server program.</p> <p>NSD is an authoritative name server (i.e., not implementing the recursive caching function by design) and uses BIND-style zone-files (zone-files used under BIND can usually be used unmodified in NSD, <p>Continue reading <a href="http://www.zerointellect.com/networking/nsd-dns-server/">NSD DNS Server</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Although BIND is the most popular domain name server software being used today, NSD (&#8220;name server daemon&#8221;) is another popular alternative open-source server program.</p>
<p>NSD is an authoritative name server (i.e., not implementing the recursive caching function by design) and uses BIND-style zone-files (zone-files used under BIND can usually be used unmodified in NSD, once entered into the NSD configuration).</p>
<p>NSD uses zone information compiled via &#8216;zonec&#8217; into a binary database file (nsd.db) which allows fast startup of the NSD name-service daemon, and allows syntax-structural errors in Zone-Files to be flagged at compile-time (before being made available to NSD service itself).</p>
<p>The collection of programs/processes that make-up NSD are designed so that the NSD daemon itself runs as a non-privileged user and can be easily be configured to run in a Chroot jail (A chroot environment can be used to create re-root a program to another directory in unix), such that security flaws in the NSD daemon are not so likely to result in system-wide compromise.</p>
<p>Most of the Internet root nameservers use BIND, however a few of them also use NSD. Apart from that several other TLDs use NSD for part of their servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/nsd-dns-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bootstrap Protocol (BOOTP)</title>
		<link>http://www.zerointellect.com/networking/bootstrap-protocol-bootp/</link>
		<comments>http://www.zerointellect.com/networking/bootstrap-protocol-bootp/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:34:59 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bootp]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[udp]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=320</guid>
		<description><![CDATA[<p> </p> <p>When a device on a TCP/IP network starts up and is not configured for a static IP address, it needs to receive an IP address before it can communicate with other devices on the network. A standard computer with a hard disk can be enabled for static configuration but a diskless device that does <p>Continue reading <a href="http://www.zerointellect.com/networking/bootstrap-protocol-bootp/">Bootstrap Protocol (BOOTP)</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>When a device on a TCP/IP network starts up and is not configured for a static IP address, it needs to receive an IP address before it can communicate with other devices on the network. A standard computer with a hard disk can be enabled for static configuration but a diskless device that does not have any storage, only has an option to acquire an IP address from the network. This process of getting a new machine up and running is commonly referred to as bootstrapping. To provide this functionality, the TCP/IP Bootstrap Protocol (BOOTP) was created. </p>
<p>The Bootstrap Protocol, or BOOTP, is a network protocol used by a network client to obtain an IP address from a configuration server. In order to get an IP address the network clients contact other devices on the network. Initially (ages ago) a boot floppy disk had to be inserted to establish the initial network connection, but later on Network Interface card manufacturers embedded the protocol in the ROM of the interface card as well as on motherboards that have onboard network adapters, thereby avoiding the need for floppy disks and allowing for direct network booting.</p>
<p>During the bootstrap process when a computer is starting up, the BOOTP protocol is used. A BOOTP server assigns an IP address to each client from a pool of addresses and based on the configuration of the server. BOOTP generally uses the User Datagram Protocol (UDP) as the transport protocol. Earlier, BOOTP has also been used for diskless workstations to obtain the network location of their boot image in addition to an IP address using protocols like PXE, and also by enterprises to roll out pre-configured client installations to newly installed PCs.</p>
<p>Although BOOTP provides a very important function, it is not used frequently today and has been superseded by DHCP (Dynamic Host Configuration Protocol) which is a more advanced protocol for the same purpose. Most DHCP servers also offer BOOTP support and are the most prevalent method used today to assign IP addresses to diskless workstations and clients that require IP addresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/bootstrap-protocol-bootp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Change the default search in Firefox from Google to Bing</title>
		<link>http://www.zerointellect.com/web/change-the-default-search-in-firefox-from-google-to-bing/</link>
		<comments>http://www.zerointellect.com/web/change-the-default-search-in-firefox-from-google-to-bing/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 17:20:24 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[about:config]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[boolean]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[keyword.enabled]]></category>
		<category><![CDATA[keyword.url]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[warranty]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=355</guid>
		<description><![CDATA[<p> </p> <p>The first time you install firefox, both the keyword search in the address bar of the browser as well as the search box at the top right default to using Google as the search engine.</p> <p>I find using the URL method (typing into the address bar directly) more useful. But since there are tonnes of search <p>Continue reading <a href="http://www.zerointellect.com/web/change-the-default-search-in-firefox-from-google-to-bing/">Change the default search in Firefox from Google to Bing</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>The first time you install firefox, both the keyword search in the address bar of the browser as well as the search box at the top right default to using Google as the search engine.</p>
<p>I find using the URL method (typing into the address bar directly) more useful. But since there are tonnes of search engines out there, if you want to explore a new search engine, you can easily change the default search engine that firefox uses.</p>
<p>In this example, the default search engine is changed from Google to Bing. It is very easy to do this and you just need to change a key value in the firefox configuration (the key collection).</p>
<p>Firstly, go ahead and type <strong>about:config</strong> and you will receive a warning that looks like the image below</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/16122009-diagram-2-1.png" alt="" width="550" height="128" /></p>
<p> </p>
<p>Click on “Yes , I’ll be careful , I promise “ button. You will now see a lot of preference names and key values. In the Filter , type in keyword and you will see two options left.</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/16122009-diagram-2-2.png" alt="" width="550" height="425" /></p>
<p> </p>
<p>The key which is of interest to us is <strong>keyword.url</strong></p>
<p>Click on the keyword.url key in the list and right click and select modify. You will see the default value in it is the google search engine with the value <strong>http://www.google.com/search?ie=UTF-8&amp;oe=UTF-8&amp;sourceid=navclient&amp;gfns=1&amp;q=</strong> (this might vary depending on your system)</p>
<p>Replace that with <strong>http://www.bing.com/search?q=</strong></p>
<p>You also need to make sure that the <strong>keyword.enabled</strong> boolean key value is set to true (this is done by default)</p>
<p>After that, press OK and restart the firefox browser (not always necessary, but a good practice). Now you are ready to test your tweak. Try typing in something in the address bar of the browser and press enter. You are taken to the Bing search engine with results. The same thing can be done to change to other search engines. You just need to change the keyword.url value.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/web/change-the-default-search-in-firefox-from-google-to-bing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BIND DNS Server</title>
		<link>http://www.zerointellect.com/networking/bind-dns-server/</link>
		<comments>http://www.zerointellect.com/networking/bind-dns-server/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 05:49:18 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dnssec]]></category>
		<category><![CDATA[internet systems consortium]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=294</guid>
		<description><![CDATA[<p> </p> <p>Domain Name Servers on the internet use various software to function, the most popular DNS server type on the internet is BIND, which stands for Berkeley Internet Name Domain. BIND is the predominant system on UNIX based systems. </p> <p>BIND was originally created at the University of California, Berkeley and is maintained today by the <p>Continue reading <a href="http://www.zerointellect.com/networking/bind-dns-server/">BIND DNS Server</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Domain Name Servers on the internet use various software to function, the most popular DNS server type on the internet is BIND, which stands for Berkeley Internet Name Domain. BIND is the predominant system on UNIX based systems. </p>
<p>BIND was originally created at the University of California, Berkeley and is maintained today by the Internet Systems Consortium. It was rewritten to address architectural difficulties and also to support DNSSEC (DNS Security Extensions).</p>
<p>BIND initially supported only flat text files to store and retrieve data. However, recent versions of BIND have allowed zone data storage and retrieval in a variety of database formats including LDAP, PostgreSQL, MySQL, and ODBC.</p>
<p>Since BIND was written a long time back, there were many security vulnerabilities that have been exploited by earlier versions of BIND and hence their use is strongly discouraged. The latest version of BIND should be deployed, although they have also experienced numerous vulnerabilities which can be managed to some extent by using DNSSEC and other technologies</p>
<p>More information about BIND at the ISC website can be obtained from <a href="https://www.isc.org/software/bind" target="_blank">https://www.isc.org/software/bind</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/bind-dns-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Preboot Execution Environment (PXE)</title>
		<link>http://www.zerointellect.com/networking/preboot-execution-environment-pxe/</link>
		<comments>http://www.zerointellect.com/networking/preboot-execution-environment-pxe/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 05:06:10 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[3com]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[compaq]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[DHCPACK]]></category>
		<category><![CDATA[DHCPDISCOVER]]></category>
		<category><![CDATA[DHCPINFORM]]></category>
		<category><![CDATA[DHCPOFFER]]></category>
		<category><![CDATA[DHCPREQUEST]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[guid]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[phoenix]]></category>
		<category><![CDATA[pixie]]></category>
		<category><![CDATA[proxy dhcp]]></category>
		<category><![CDATA[pxe]]></category>
		<category><![CDATA[redirection]]></category>
		<category><![CDATA[tftp]]></category>
		<category><![CDATA[udp]]></category>
		<category><![CDATA[undi]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=322</guid>
		<description><![CDATA[<p> </p> <p>Booting your host from the network without the need to rely on the local operating system or hard disks is a technology that is not used very often in the corporate environment today with some people never having heard that such a thing is possible. With the way things are moving today with virtual <p>Continue reading <a href="http://www.zerointellect.com/networking/preboot-execution-environment-pxe/">Preboot Execution Environment (PXE)</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Booting your host from the network without the need to rely on the local operating system or hard disks is a technology that is not used very often in the corporate environment today with some people never having heard that such a thing is possible. With the way things are moving today with virtual machines, virtual storage, dynamic infrastructure, I feel that the trend would be reversed with few folks storing data on local hard drives and more moving to virtual environments and booting from remote storage at least as far as the backend infrastructure is concerned because of the advantages of flexibility, backup, deployment, etc.</p>
<p> </p>
<p>Preboot eXecution Environment (PXE) or ‘pixie’ as it is popularly called is one of the many technologies that helps in booting hosts using a Network Interface with the help of images stored remotely. PXE consists of a suite of protocols like IP, UDP, DHCP, TFTP and concepts like Globally Unique Identifier (GUID) and Universal Network Device Interface (UNDI). The firmware of the PXE client is extended with the help of API’s. The PXE client refers to any hardware host device (server, notebook, PC) that is included with the PXE boot code.</p>
<p> </p>
<p>PXE is an open industry standard developed by a number of software and hardware vendors. It was initially designed by Intel, with input from several other vendors including 3Com, HP, Dell, Compaq, and Phoenix Technologies. PXE works with a USB adapters and network interface card (NIC) in the PC, making the PC boot over the network.</p>
<p> </p>
<p>Hosts that support booting from PXE, have a firmware that tries to locate a PXE redirection service (Proxy DHCP) to get a list of PXE boot servers that are available. After going through the reply, the firmware software will request an appropriate boot server for the file path of the network bootstrap program (NBP) like xxx and download it on the local Random Access Memory (RAM) using TFTP generally, verify and execute it.</p>
<p> </p>
<p>If a common NBP is used by all PXE clients it could be specified by BOOTP thereby not needing a proxy DHCP, but the TFTP server is still required.</p>
<p> </p>
<p><strong>PXE Protocol</strong></p>
<p>The PXE protocol is a combination of modified versions of DHCP and TFTP. DHCP is used to locate the appropriate boot servers and TFTP is used to download the bootstrap program and other files to the PXE client. Initiation of a PXE bootstrap session is done by the PXE firmware broadcasting a DHCPDISCOVER packet with PXE options (extended DHCPDISCOVER) to port 67 UDP (DHCP Server port). The PXE options identify the firmware of the sending host as capable of PXE, but this message is ignored by standard DHCP servers. If the PXE client receives DHCPOFFERS from such servers, it may request for one of the offered configurations.</p>
<p> </p>
<p><strong>PROXY DHCP</strong></p>
<p>When a PXE redirection service (Proxy DHCP) receives an extended DHCPDISCOVER, it replies by sending back a broadcast called an extended DHCPOFFER (DHCPOFFER with extended PXE options) to port 68/UDP (DHCP client port). The reason this packet is broadcasts back because the IP address of the PXE client is not included in DHCPDISCOVER message. The client is mainly identified by its GUID/UUID</p>
<p> </p>
<blockquote><p><strong>Extended DHCPOFFER contains mainly:</strong></p>
<p> - PXE Discovery Control field to decide whether Multicasting, Broadcasting, or Unicasting is to be used for contacting PXE boot servers<br />
- List of IP addresses of each available PXE Boot Server Type<br />
- PXE Boot Menu with each entry representing a PXE Boot Server Type<br />
- PXE Boot Prompt telling the user to press &lt;F8&gt; to see the boot menu<br />
- Timeout to launch the first boot menu entry if it expires.</p></blockquote>
<p> </p>
<p>The Proxy DHCP service may also be run on the same host as the standard DHCP service. Since both services cannot share port 67/UDP, the Proxy DHCP runs on port 4011/UDP and expects the extended DHCPDISCOVER packets from PXE Clients to be DHCPREQUESTs. The standard DHCP service has to send a special combination of PXE options in its DHCPOFFER, so the PXE client knows to look for a Proxy DHCP on the same host, port 4011/UDP.</p>
<p> </p>
<p> <img class="aligncenter" src="http://www.zerointellect.com/uploads/16122009-diagram-1-1.png" alt="" width="510" height="625" /></p>
<p> </p>
<p><strong>Boot Server</strong></p>
<p>To contact any PXE Boot Server the firmware must have an IP address and has to consider all information from exactly one extended DHCPOFFER. After choosing an appropriate PXE Boot Server Type the firmware multicasts or unicasts a DHCPREQUEST packet extended with PXE-specific options (extended DHCPREQUEST) to port 4011/UDP or broadcasts it to port 67/UDP. This packet mainly contains the PXE Boot Server Type and the PXE Boot Layer, allowing to run many boot server types with one boot server daemon (or &#8216;program&#8217;). The extended DHCPREQUEST may also be a DHCPINFORM.</p>
<p> </p>
<p>If a PXE Boot Server receives an extended DHCPREQUEST as described above and if the boot server is configured for the requested PXE Boot Server Type and client architecture, it must respond by sending back an extended DHCPACK to the source port of the extended DHCPREQUEST.</p>
<p> </p>
<blockquote><p><strong>Extended DHCPACK contains mainly:</strong><br />
- The complete file path to download the NBP via TFTP.<br />
- PXE Boot Server Type and PXE Boot Layer the boot server answered to<br />
- Multicast TFTP configuration, if MTFTP as described in the PXE specification should be used</p></blockquote>
<p> </p>
<p>Additionally the PXE firmware extension was designed as an Option ROM for the IA-32 BIOS so you can get a personal computer (PC) PXE-capable by installing a NIC that provides a PXE Option ROM as can be seen in the figure below</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/16122009-diagram-1-2.png" alt="" width="200" height="229" /></p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/16122009-diagram-1-3.png" alt="" width="350" height="308" /></p>
<p> </p>
<p>The PXE Client/Server Protocol was designed so:</p>
<p>- It can be used in the same network as an existing DHCP environment without interference<br />
- It can be integrated completely into standard DHCP services</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/preboot-execution-environment-pxe/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Inverse Address Resolution Protocol (InARP)</title>
		<link>http://www.zerointellect.com/networking/inverse-address-resolution-protocol-inarp/</link>
		<comments>http://www.zerointellect.com/networking/inverse-address-resolution-protocol-inarp/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 04:06:19 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[arp table]]></category>
		<category><![CDATA[ATM]]></category>
		<category><![CDATA[data link connection identifier]]></category>
		<category><![CDATA[DLCI]]></category>
		<category><![CDATA[Frame Relay]]></category>
		<category><![CDATA[InARP]]></category>
		<category><![CDATA[Inverse ARP]]></category>
		<category><![CDATA[layer 2]]></category>
		<category><![CDATA[layer 3]]></category>
		<category><![CDATA[virtual circuit]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=317</guid>
		<description><![CDATA[<p> </p> <p>Inverse Address Resolution Protocol (Inverse ARP or InARP), is a protocol used for obtaining Network Layer addresses of other nodes from Data Link Layer addresses. For example, in Ethernet networks InARP would primarily be used to get IP addresses when MAC addresses are known.</p> <p>It is primarily used in Frame Relay and ATM networks, <p>Continue reading <a href="http://www.zerointellect.com/networking/inverse-address-resolution-protocol-inarp/">Inverse Address Resolution Protocol (InARP)</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Inverse Address Resolution Protocol (Inverse ARP or InARP), is a protocol used for obtaining Network Layer addresses of other nodes from Data Link Layer addresses. For example, in Ethernet networks InARP would primarily be used to get IP addresses when MAC addresses are known.</p>
<p>It is primarily used in Frame Relay and ATM networks, in which Layer 2 addresses of virtual circuits are sometimes obtained from Layer 2 signaling, and the corresponding Layer 3 addresses must be available before these virtual circuits can be used. In Frame Relay networks InARP is used to get Data Link Connection Identifier (DLCI) mappings to Virtual Circuits and is enabled automatically by default.</p>
<p>InARP operates essentially the same as ARP with the exception that InARP does not broadcast requests but sends them by unicast directly to the destination.  This is because the hardware address of the destination host is already known. The source host that sends the request simply formats it by inserting its source hardware and protocol addresses and the known destination hardware address. It then zero fills the target protocol address field.  Finally, it will encapsulate the packet for the specific network and send it directly to the target station. The diagram below gives us an illustration of how Inverse ARP works</p>
<p> </p>
<p> <img class="aligncenter" src="http://www.zerointellect.com/uploads/12122009-diagram-1-1.png" alt="" width="521" height="290" /></p>
<p> </p>
<blockquote><p><strong>1. Host A wants to send a packet destined to a host with MAC address CC-CC-CC-CC-CC-CC but does not know the IP address of the device<br />
2. Host A then sends a unicast ARP request to the specified destination host<br />
3. Switch A looks at the destination MAC address in the packet and forwards the packet to Host C<br />
4. Host C updates its ARP table and sends a reply back to Host A<br />
5. Host A receives the reply and updates its ARP table and then sends the packet unicast to Host C with its destination IP address</strong></p></blockquote>
<p>  </p>
<p>Upon receiving an InARP request, a station may put the source protocol address/hardware address mapping into its ARP cache as it would any ARP request.  Unlike other ARP requests, however, the destination host may assume that any InARP request it receives is destined for it. For every InARP request, the destination host may format a proper reply using the source addresses from the request as the target addresses of the reply.  If the host is unable or unwilling to reply, it ignores the request.</p>
<p>When the source station receives the InARP reply, it may complete the ARP table entry and use the provided address information. The information learned via InARP or ARP may be aged or invalidated under certain circumstances.</p>
<p>InARP (Layer 2 known, Layer 3 unknown) is the inverse of ARP (Layer 3 known, Layer 2 unknown) as they both do just the opposite. In addition, InARP is actually implemented as a protocol extension to ARP. InARP uses the same packet format as ARP; but has different operation codes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/inverse-address-resolution-protocol-inarp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reverse ARP is not the reverse of ARP</title>
		<link>http://www.zerointellect.com/networking/reverse-arp-is-not-the-reverse-of-arp/</link>
		<comments>http://www.zerointellect.com/networking/reverse-arp-is-not-the-reverse-of-arp/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 09:23:51 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[arp]]></category>
		<category><![CDATA[bootp]]></category>
		<category><![CDATA[bootstrap protocol]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dynamic host configuration protocol]]></category>
		<category><![CDATA[InARP]]></category>
		<category><![CDATA[RARP]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=316</guid>
		<description><![CDATA[<p> </p> <p>For those of you who have heard of Address Resolution Protocol (ARP) and think that Reverse Address Resolution Protocol (RARP) is its complement, they are totally off track. RARP is a computer networking protocol used by a host computer to request for an IPV4 address from another host computer if it does not have one used (not statically <p>Continue reading <a href="http://www.zerointellect.com/networking/reverse-arp-is-not-the-reverse-of-arp/">Reverse ARP is not the reverse of ARP</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>For those of you who have heard of Address Resolution Protocol (ARP) and think that Reverse Address Resolution Protocol (RARP) is its complement, they are totally off track. RARP is a computer networking protocol used by a host computer to request for an IPV4 address from another host computer if it does not have one used (not statically assigned), the Network Interface that is connected to the network would already have a Layer 2 MAC address (hardware address).</p>
<p>This might very well sound like DHCP which is very popular and does the same thing. In fact RARP has been rendered obsolete by two of its successors, the Bootstrap Protocol (BOOTP) and the newer Dynamic Host Configuration Protocol (DHCP), which have better features than RARP.</p>
<p>In an RARP setup, one or more server hosts maintain a database of mappings of Link Layer addresses to their respective protocol addresses (similar to an IP to MAC mapping in Ethernet networks). Media Access Control (MAC) addresses needed to be individually configured on the servers by an administrator (this is where DHCP rules and RARP got kicked out). RARP was limited to serving only IP addresses.</p>
<p>Another misnomer is that Reverse ARP is the same as Inverse Address Resolution Protocol (InARP). But InARP was designed to get the IP address associated with another host&#8217;s MAC address. InARP is actually just the reverse of ARP in functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/reverse-arp-is-not-the-reverse-of-arp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Address Resolution Protocol (ARP)</title>
		<link>http://www.zerointellect.com/networking/address-resolution-protocol-arp/</link>
		<comments>http://www.zerointellect.com/networking/address-resolution-protocol-arp/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 05:47:16 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[0.0.0.0]]></category>
		<category><![CDATA[all zero ip address]]></category>
		<category><![CDATA[arp]]></category>
		<category><![CDATA[arp announcement]]></category>
		<category><![CDATA[arp probe]]></category>
		<category><![CDATA[crc checksum]]></category>
		<category><![CDATA[decnet]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[ethernet type 2 frame]]></category>
		<category><![CDATA[fddi]]></category>
		<category><![CDATA[frame]]></category>
		<category><![CDATA[gratuitous arp]]></category>
		<category><![CDATA[high availability cluster]]></category>
		<category><![CDATA[layer 2]]></category>
		<category><![CDATA[layer 3]]></category>
		<category><![CDATA[llc]]></category>
		<category><![CDATA[logical link control]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac header]]></category>
		<category><![CDATA[mac sub layer]]></category>
		<category><![CDATA[media access control]]></category>
		<category><![CDATA[network interface card]]></category>
		<category><![CDATA[nic]]></category>
		<category><![CDATA[osi]]></category>
		<category><![CDATA[payload]]></category>
		<category><![CDATA[rfc 826]]></category>
		<category><![CDATA[token ring]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=282</guid>
		<description><![CDATA[<p> </p> <p>The Address Resolution Protocol (ARP) is a computer networking protocol to find out the MAC address (Physical address) of a device when the IP address (Logical address) is known. This is predominantly used in Local Area Network (LAN) environments as well as routing data traffic based on IP addresses when the next hop router must <p>Continue reading <a href="http://www.zerointellect.com/networking/address-resolution-protocol-arp/">Address Resolution Protocol (ARP)</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>The Address Resolution Protocol (ARP) is a computer networking protocol to find out the MAC address (Physical address) of a device when the IP address (Logical address) is known. This is predominantly used in Local Area Network (LAN) environments as well as routing data traffic based on IP addresses when the next hop router must be known. The diagram below illustrates how ARP functions</p>
<p> </p>
<p style="text-align: center"><img class="aligncenter" src="http://www.zerointellect.com/uploads/11122009-diagram-1-3.png" alt="" width="521" height="290" /></p>
<p> </p>
<blockquote><p><strong>1. Host A wants to send a packet destined to 192.168.1.9<br />
but does not know the MAC address of the device<br />
2. Host A then sends an ARP request to all hosts (BROADCAST)<br />
which is forwarded to the Switch A connected to all hosts<br />
3. Switch A looks at the destination MAC address in the packet and broadcasts the packet to all hosts on the LAN except Host A<br />
4. Host B and Host D receive the packet and just update their ARP table with the IP address of Host A and its MAC address<br />
5. Host C updates its ARP table and notices its IP address in the destination IP address field and sends an ARP reply which is unicast back to the source MAC address of Host A<br />
6. Host A receives the ARP reply and updates its ARP table and then sends the required packet unicast to Host C</strong></p></blockquote>
<p> </p>
<p>Originally part of RFC 826 defined in 1982. Although ARP has been used in many types of networks such as IP, DECNET, Token Ring, FDDI and other Ethernet Technologies, today it is predominantly used to translate IP addresses to Ethernet MAC addresses because of the prevalence of IPV4 and Ethernet in general. It is generally reference under layer 2 (data link) and layer 3 (network) of the OSI networking model.</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/11122009-diagram-1-1.png" alt="" width="375" height="350" /></p>
<p> </p>
<p>ARP functions as a low level request and response protocol that is sent across the media access level of the underlying network. In case of Ethernet systems, ARP disguises itself in the payload of the Ethernet packet (see below)</p>
<p> </p>
<p style="text-align: center"><img class="aligncenter" src="http://www.zerointellect.com/uploads/11122009-diagram-1-2.png" alt="" width="450" height="120" /></p>
<p> </p>
<p><strong>ARP announcements </strong></p>
<p>Sometimes ARP may be used for announcement purposes. For example, if the IP address or MAC address changes due to a changed Network Card, DHCP lease expiring, etc. The host signals that to the rest of the network by sending out a Gratuitous ARP message broadcast. This type of an announcement is just for the information of the other hosts so that they can update their ARP table and is not send with the intention of receiving a reply. It is also used during MAC address change in Network Interface card (NIC) Teaming, High availability clusters.</p>
<p> </p>
<p><strong>ARP probe</strong></p>
<p>A host broadcasts ARP probe packets all around the network before it begins using an IPV4 address (manually assigned, DHCP assigned). This is done to test if the address is already in use and is accomplished by sending out an ARP request constructed with a 0.0.0.0 (all-zero) source IP address.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/address-resolution-protocol-arp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nslookup command overview</title>
		<link>http://www.zerointellect.com/networking/nslookup-command-overview/</link>
		<comments>http://www.zerointellect.com/networking/nslookup-command-overview/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 06:00:27 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tool Zone]]></category>
		<category><![CDATA[CNAME]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[DNS record]]></category>
		<category><![CDATA[fully qualified domain name]]></category>
		<category><![CDATA[ls command]]></category>
		<category><![CDATA[lserver]]></category>
		<category><![CDATA[MX]]></category>
		<category><![CDATA[mx record]]></category>
		<category><![CDATA[NS]]></category>
		<category><![CDATA[nslookup]]></category>
		<category><![CDATA[PTR]]></category>
		<category><![CDATA[query refused]]></category>
		<category><![CDATA[querytype]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[system32]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[zone transfer]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=286</guid>
		<description><![CDATA[<p> </p> <p>Nslookup.exe (abbreviation for name server lookup) is a command line utility used for testing and troubleshooting DNS servers. It is built into Unix (including Linux and variants) and Windows. The main purpose of the utility is to query DNS servers to find DNS details, MX records for a domain, NS servers of a domain</p> <p>Continue reading <a href="http://www.zerointellect.com/networking/nslookup-command-overview/">Nslookup command overview</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Nslookup.exe (abbreviation for name server lookup) is a command line utility used for testing and troubleshooting DNS servers. It is built into Unix (including Linux and variants) and Windows. The main purpose of the utility is to query DNS servers to find DNS details, MX records for a domain, NS servers of a domain</p>
<p>In Windows, Nslookup.exe is automatically installed along with the TCP/IP protocol installation which is done by default during a new Windows installation or setup. The actual executable lies in the system directory <strong>c:\windows\system32 directory</strong> by default in Windows XP and most other versions of Windows.</p>
<p> </p>
<p><strong>To get started with Nslookup.exe, the following prerequisites need to be present: </strong></p>
<p>The TCP/IP protocol must be installed on the computer that you want to execute the Nslookup command without which the command will not be available</p>
<p>When you run the ipconfig /all command, at least one DNS server should exist in the list of DNS servers</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/09122009-diagram-1-1.png" alt="" width="505" height="309" /></p>
<p> </p>
<p>The Nslookup command always devolves (delegates from) the domain name from the current context (depending on the DNS Server settings listed). If you fail to use a fully qualified domain name, i.e. ending the domain name with a trailing dot (.), the first query will append the DNS settings to your query domain name. For example, if you have your DNS settings listed as <strong>xyz.com</strong> and you run a query for <strong>www.bing.com</strong>, the actual query will go out as <strong>www.bing.com.xyz.com</strong> because of you entering an unqualified query. However, if you were to query for <strong>www.bing.com. </strong>[with the trailing dot (.)], then the query would rightly go out to <strong>www.bing.com</strong> only (diagram below). This strange behavior is specific to the Microsoft version of the Nslookup command. I do not know of how Nslookup behaves while run with other vendors.</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/09122009-diagram-1-2.png" alt="" width="450" height="350" /></p>
<p> </p>
<p>If the DNS search list is being used in the Domain suffix search order in TCP/IP advanced properties DNS tab (diagram below), devolution will not take place. The query will be appended to the domain suffixes specified in the list. To override the search list, always use the Fully Qualified Domain Name in your query.</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/09122009-diagram-1-3.png" alt="" width="550" height="632" /></p>
<p> </p>
<p>The command can be used directly (<strong>non-interactive</strong> mode) or with subcommands (<strong>interactive</strong> mode). Using Nslookup.exe in the non-interactive mode is useful when we just need the output of a specific query and only a single value needs to be returned. But when we need to get the output for multiple queries and actions it is better to use the interactive mode</p>
<p> </p>
<p>The syntax of Non Interactive Mode is as follows:</p>
<p> </p>
<blockquote><p><strong>nslookup [-option] [hostname] [server]</strong></p>
<p> nslookup [-opt ...]                          # interactive mode using default server</p>
<p>nslookup [-opt ...] &#8211; server          # interactive mode using &#8216;server&#8217;</p>
<p>nslookup [-opt ...] host                 # just look up &#8216;host&#8217; using default server</p>
<p>nslookup [-opt ...] host server    # just look up &#8216;host&#8217; using &#8216;server&#8217;</p>
<p>Option refers to the various options that are available covered below</p>
<p>Hostname refers to the query that we need information on</p>
<p>Server refers to the DNS server to be used to search for the host</p></blockquote>
<p> </p>
<p> Look at the following output from a unix and windows based host</p>
<p> </p>
<p><strong>Command line output (without subcommands)</strong></p>
<p> </p>
<blockquote><p><strong>UNIX</strong></p>
<p>unix% nslookup example.com</p>
<p>Server:        192.168.1.1<br />
Address:    192.168.1.1#53</p>
<p>Non-authoritative answer:</p>
<p>Name:    example.com<br />
Address: 202.7.18.16</p>
<p> </p>
<p><strong>Windows</strong></p>
<p>C:\&gt;nslookup microsoft.com.</p>
<p>Server:  PQRTVXXXXD002DNS076<br />
Address:  210.213.34.3</p>
<p>Non-authoritative answer:</p>
<p>Name:    microsoft.com<br />
Addresses:  207.46.197.32, 207.46.232.182</p></blockquote>
<p> </p>
<p><strong>Using subcommands (unix example)</strong></p>
<p> </p>
<blockquote><p><strong>nslookup</strong></p>
<p><strong>&gt; server ns1.com</strong></p>
<p>Default Server:  ns1.com<br />
Address:  172.204.22.25</p>
<p>&gt; set<br />
&gt; example.com</p>
<p>Server:  ns1.com<br />
Address:  202.7.18.16</p>
<p>example.com   MX preference = 10, mail exchanger = mail.example.com<br />
&gt; exit</p></blockquote>
<p> </p>
<p>After entering the interactive mode, typing ? or help will reveal all the options that are available</p>
<p> </p>
<p><img class="aligncenter" src="http://www.zerointellect.com/uploads/09122009-diagram-1-4.png" alt="" width="550" height="371" /> </p>
<p>To interrupt interactive commands, press CTRL+C. To exit interactive mode and return to the command prompt, type exit at the command prompt. A number of different options can be set in Nslookup.exe by running the set command at the command prompt. A complete listing of these options is obtained by typing set all.</p>
<p> </p>
<p><strong>Looking up different data types: type and querytype</strong> </p>
<p>We will discuss the two options, type and querytype that belong to the set command. To look at different query type options within the domain name space, we use the set type or set querytype command at the command prompt. Both of them are exactly the same and are interchangeable. For example, to query for mail exchanger records (mail server details) of a particular domain like yahoo.com, we can type the following:</p>
<p> </p>
<blockquote><p><strong>C:\&gt;nslookup</strong></p>
<p>&gt; set q=mx<br />
&gt; yahoo.com.</p>
<p>Server:  google-public-dns-a.google.com<br />
Address:  8.8.8.8</p>
<p>Non-authoritative answer:<br />
yahoo.com       MX preference = 1, mail exchanger = a.mx.mail.yahoo.com<br />
yahoo.com       MX preference = 1, mail exchanger = b.mx.mail.yahoo.com<br />
yahoo.com       MX preference = 1, mail exchanger = c.mx.mail.yahoo.com<br />
yahoo.com       MX preference = 1, mail exchanger = e.mx.mail.yahoo.com<br />
yahoo.com       MX preference = 1, mail exchanger = f.mx.mail.yahoo.com<br />
yahoo.com       MX preference = 1, mail exchanger = g.mx.mail.yahoo.com</p></blockquote>
<p> </p>
<p>The first time a remote host is queried, the local DNS server contacts the DNS server that is authoritative for that domain. The local DNS server will then cache that information, so that subsequent queries are answered nonauthoritatively out of the local server&#8217;s cache. The first time a query is made for a remote name, the answer is authoritative, but subsequent queries are nonauthoritative.</p>
<p> </p>
<p><strong>Querying another name server directly: server  and lserver</strong></p>
<p>If we wanted to use another DNS server on the internet to send our queries, we can use the server or lserver commands. For example, using the DNS server 8.8.8.8 that is the Google Public DNS server</p>
<p> </p>
<blockquote><p><strong>C:\&gt;nslookup</strong></p>
<p>Default Server:  nameserver1.example.com<br />
Address:  10.1.2.3</p>
<p>&gt; server 8.8.8.8<br />
Default Server:  google-public-dns-a.google.com<br />
Address:  8.8.8.8</p></blockquote>
<p> </p>
<p>The difference between the <strong>server</strong> and <strong>lserver</strong> commands is that the server command is uses the current default server to get the address of the server to switch to, whereas the lserver uses the local server to get the same address. For example, if you have a broadband connection and get a DHCP IP address from your ISP, you would also automatically get some DNS servers (assume dns1.isp1.com), the lserver command forces the usage of these local dns servers that were retrieved from your ISP. However, while using the Nslookup.exe command, if you earlier changed the DNS server that is used to query for other domains (assume you changed it to dns1.somefreedns.com), the server command would use the current default server (dns1.somefreedns.com) and not the local dns servers (dns1.isp1.com)</p>
<p> </p>
<p><strong>Zone Transfers : LS command</strong></p>
<p>Nslookup.exe can be used to transfer an entire zone by using the ls command. The best use of this command is if you want to store a list of all host names within a particular remote domain into a local file (example below)</p>
<p> </p>
<p>The syntax of this command is</p>
<p> </p>
<blockquote><p><strong>ls [opt] DOMAIN [&gt; FILE] &#8211; list addresses in DOMAIN (optional: output to FILE)<br />
</strong>    -a          -  list canonical names and aliases<br />
    -d          -  list all records<br />
    -t TYPE     -  list records of the given type (e.g. A,CNAME,MX,NS,PTR etc.)</p></blockquote>
<p> </p>
<p>Using ls with no arguments will return a list of all address and name server data. The -a switch will return alias and canonical names, -d will return all data, and -t will filter by type.</p>
<p> </p>
<blockquote><p><strong>&gt;ls example.com</strong></p>
<p>[nameserver1.example.com]</p>
<p>nameserver1.example.com.    NS     server = ns1.example.com<br />
nameserver2.example.com     NS     server = ns2.example.com<br />
nameserver1                            A      10.0.0.1<br />
nameserver2                            A      10.0.0.2</p></blockquote>
<p> </p>
<p>While this is obviously a security issue, zone transfers can be blocked at the DNS Server level and this would be the case most of the time on the internet (unless someone foolish enough would like you to see his internal structure and naming conventions). This command is useful if we want to see the structure of hosts within a LAN environment. If zone transfers have been blocked, we would get output like the following</p>
<p> </p>
<blockquote><p><strong>&gt; ls google.com.<br />
*** Can&#8217;t list domain example.com.: Query refused</strong></p></blockquote>
<p> </p>
<p>When we want to send the output to a file (the file will be saved in the location that was mentioned in the command prompt before the nslookup command was started, we can do so as follows</p>
<p> </p>
<blockquote><p><strong>&gt; ls google.com. &gt; lsoutput.txt<br />
Received 0 records.<br />
*** Can&#8217;t list domain google.com.: Query refused</strong></p></blockquote>
<p> </p>
<p>In the following example below, we want to view all mail server records within a particular domain and store the output to a file</p>
<p> </p>
<blockquote><p><strong>&gt; ls –t MX google.com. &gt; lsoutput.txt<br />
Received 0 records.<br />
*** Can&#8217;t list domain google.com.: Query refused</strong></p></blockquote>
<p> </p>
<p>In this article the Nslookup command was covered. While this was just a brief overview, there are many other issues like troubleshooting and whether using Nslookup itself is recommend which will be covered in future articles</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/networking/nslookup-command-overview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

