<?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 &#187; udp</title>
	<atom:link href="http://www.zerointellect.com/tag/udp/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.1</generator>
		<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 not have <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>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 machines, 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>Netstat Torn Apart</title>
		<link>http://www.zerointellect.com/toolzone/netstat-torn-apart/</link>
		<comments>http://www.zerointellect.com/toolzone/netstat-torn-apart/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 10:34:51 +0000</pubDate>
		<dc:creator>zrydento</dc:creator>
				<category><![CDATA[Tool Zone]]></category>
		<category><![CDATA[active connections]]></category>
		<category><![CDATA[arguments]]></category>
		<category><![CDATA[icmp]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[netstat tutorial]]></category>
		<category><![CDATA[process explorer]]></category>
		<category><![CDATA[routing table]]></category>
		<category><![CDATA[sysinternals]]></category>
		<category><![CDATA[tcp]]></category>
		<category><![CDATA[udp]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.zerointellect.com/?p=128</guid>
		<description><![CDATA[<p> </p>
<p>I use the NETSTAT command frequently during my consulting assignments, however apart from the common options; I never delved into using all options of the command. My curiosity got the better of me and I went on to explore all the options of the NETSTAT command, so here goes</p>
<p>NETSTAT (network statistics) is a command-line utility that <p>Continue reading <a href="http://www.zerointellect.com/toolzone/netstat-torn-apart/">Netstat Torn Apart</a></p>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>I use the NETSTAT command frequently during my consulting assignments, however apart from the common options; I never delved into using all options of the command. My curiosity got the better of me and I went on to explore all the options of the NETSTAT command, so here goes</p>
<p>NETSTAT (network statistics) is a command-line utility that displays incoming &amp; outgoing network connections, routing tables and various network interface statistics. The command has various parameters that can be used and is available on Unix, Linux and Windows based operating systems</p>
<p>Parameters of the netsat command on Windows based systems. Linux, Unix, BSD based systems have most of the parameters common with a few exceptions</p>
<p>A quick output of the help of the netstat command by appending /? gives us the following parameter options</p>
<p> </p>
<p style="text-align: center"><img class="aligncenter" src="http://www.zerointellect.com/uploads/0000004-diagram-1.png" alt="" width="550" height="402" /></p>
<p> </p>
<p>A detailed explanation of each parameter with examples follows</p>
<p> </p>
<p><strong><strong>-a</strong>   Displays all connections and listening ports</strong></p>
<p>Running the netstat command with the -a parameter displays the of active connections as is displayed in the output below</p>
<p> </p>
<blockquote><p><strong>C:\&gt;netstat</strong></p>
<p><strong>Active Connections</strong></p>
<p><strong>  Proto  Local Address          Foreign Address              State<br />
  TCP    host540:19208          microsoft.com:http    CLOSE_WAIT<br />
  TCP    host540:19473          yahoo.com:http             ESTABLISHED</strong></p></blockquote>
<p> </p>
<p>Starting with the protocol as the first column which could be either TCP/UDP based. The &#8220;host540:19208&#8243; in the second column is a combination of the host name of the computer that the command is being run on which in this case is <strong>host540</strong> and the local port number which is 19208. For well known services the protocol would be appended, for example <strong>host540:ntp</strong> but for services that are not well known the local port number would be mentioned</p>
<p>The foreign address is the website and the service that the connection was opened to which is <strong>microsoft.com:http</strong> in this case with port 80 (http) or web traffic and the connection state is <strong>CLOSE_WAIT</strong></p>
<p>If the port is not yet established, the port number is shown as a * which would normally be seen in the output as &#8220;*:*&#8221;</p>
<p> </p>
<p><strong>-b   Displays the executable involved in creating each connection or listening port. In some cases well-known executables host multiple independent components, and in these cases the sequence of components involved in creating the connection or listening port is displayed.</strong></p>
<p><strong> </strong> </p>
<blockquote><p><strong>C:\&gt;netstat -b</strong></p>
<p><strong>Active Connections</strong></p>
<p><strong>Proto  Local Address          Foreign Address               State                        PID<br />
  TCP    host540:19208       microsoft.com:http   CLOSE_WAIT       1148<br />
  [iexplore.exe]</strong></p>
<p><strong>  TCP    host540:19473       yahoo.com:http             ESTABLISHED   7848<br />
  [firefox.exe]</strong></p>
<p> </p></blockquote>
<p>Additionally the process id of the process is also available. In this case the executable name is in [] at the bottom, on top is the component it called, and so forth until TCP/IP was reached. Note that this option can be time-consuming and will fail unless you have sufficient permissions</p>
<p><strong> </strong> </p>
<p><strong>-e   Displays Ethernet statistics. This may be combined with the -s option<br />
 </strong></p>
<blockquote><p><strong>C:\&gt;netstat -e<br />
Interface Statistics</strong></p>
<p><strong>                                                    Received            Sent</strong></p>
<p><strong>Bytes                                              41185465        10381455<br />
Unicast packets                      248414             246100<br />
Non-unicast packets           48535               303<br />
Discards                                        0                          0<br />
Errors                                             0                          1<br />
Unknown protocols             0</strong></p></blockquote>
<p><strong> </strong></p>
<p>The number of packets, bytes, errors and other information received and sent is displayed. This may be useful when tracking network usage and can be combined with the -s option.  For example one may only want to see received packets of type http, which can be done using the -e and -s options</p>
<p> </p>
<p><strong>-n   Displays addresses and port numbers in numerical form</strong></p>
<p>This is similar to the standard netstat option without any parameters, however dns queries are done to convert all addresses and port numbers into numerical form. For example, in the output microsoft.com would be listed as its corresponding ip address and http would be displayed as 80<br />
<strong> </strong></p>
<p><strong>-o   Displays the owning process ID associated with each connection</strong></p>
<p>The process ID which owns the connection can be viewed and then other utilities like <strong>Sysinternals Process Explorer</strong> can be used to drill down and get further information. The process id is also displayed other options like -b as was mentioned above</p>
<p><strong> </strong></p>
<p><strong>-p proto</strong>   Shows connections for the protocol specified by proto; proto may be any of: TCP, UDP, TCPv6, or UDPv6.  If used with the -s option to display per-protocol statistics, proto may be any of IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, or UDPv6</p>
<p>This is one of the most useful options to view specific connections opened by the protocol specified. For example, if one wants to view the opened UDP connections, the command <strong>netstat -p proto UDP</strong> could be used</p>
<p><strong> </strong></p>
<p><strong>-r   Displays the routing table</strong></p>
<p>Here all interfaces present in the system with their netmask, gateway, metric and name of the ethernet adapter is displayed. It gives you  a quick overview of ip addresses assigned and interface name, etc. Active as well as persistent routes are displayed</p>
<p><strong> </strong></p>
<p><strong>-s</strong>   Displays per-protocol statistics.  By default, statistics are shown for IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, and UDPv6; the -p option may be used to specify a subset of the default</p>
<p>Another useful option to view statistics per protocol. For example, to view only UDP statistics, the following command could be used</p>
<blockquote><p><strong>C:\&gt;netstat -s -p UDP</strong></p>
<p><strong>UDP Statistics for IPv4</strong></p>
<p><strong>  Datagrams Received    = 328852<br />
  No Ports              = 16880<br />
  Receive Errors        = 79<br />
  Datagrams Sent        = 197475</strong></p>
<p><strong>Active Connections</strong></p>
<p><strong>  Proto  Local Address          Foreign Address        State</strong></p></blockquote>
<p><strong> </strong></p>
<p><strong> </strong> The output above does not have any active UDP connections</p>
<p> </p>
<p><strong>-v            When used in conjunction with -b, will display sequence of components involved in creating the connection or listening port for all executables.<br />
</strong></p>
<p>After we have used the -b option to drill down and find out that a component [iexplore.exe] as well as other components were involved in creating the connection, we can further use the -v option to order the components involved in creating the connection. This is useful when understanding the sequencing of connection requests by an arbitrary application. It gives you an internal listing of .dll&#8217;s being called in real time</p>
<p> </p>
<p><strong>interval</strong>      Redisplays selected statistics, pausing interval seconds between each display.  Press CTRL+C to stop redisplaying statistics.  If omitted, netstat will print the current configuration information once</p>
<p>This is a good way to auto refresh the screen with any output desired. I might want to see the output of the netstat -n every 5 seconds. I would then use the <strong>netstat -n 5</strong> command</p>
<p> </p>
<p>To summarize, netstat is an external tool that is built into Windows, Unix, Linux, etc and displays a lot of useful information</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerointellect.com/toolzone/netstat-torn-apart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

