<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Brad Rutkowski's Blog : Networking</title><link>http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx</link><description>Tags: Networking</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Taking a circular netmon capture from the command prompt</title><link>http://blogs.technet.com/brad_rutkowski/archive/2008/02/22/taking-a-circular-netmon-capture-from-the-command-prompt.aspx</link><pubDate>Fri, 22 Feb 2008 22:23:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2922353</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/2922353.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=2922353</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You've probably heard that &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&amp;amp;DisplayLang=en" target="_blank"&gt;netmon3.1 is out&lt;/a&gt;, but you might not know that you can easily launch a capture at the command prompt.&amp;#160; I find this useful when we're waiting on a repro, we want a capture, but we don&amp;#8217;t know when that's going to happen.&amp;#160; Sure you could set this up in the GUI too, but who wants to do that when it's as easy as this?&lt;/p&gt;  &lt;p&gt;The below will setup a capture on all networks that the system is attached to and wait until I hit ctrl+c (you can see its been a while with no repro).&amp;#160; The CHN extension used tells netmon to take multiple captures in a chain (see file syntax).&amp;#160; I also put some examples at the bottom so you can see what else you can do.&amp;#160; Have fun!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\Windows\system32&amp;gt;nmcap /capture /network *&amp;#160; /File netmoncap.chn:100M      &lt;br /&gt;Netmon Command Line Capture (nmcap) 03.01.0512.0000 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Saving info to:     &lt;br /&gt;C:\Windows\system32\netmoncap.cap - using chain captures of size 100.00 MB. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ATTENTION: Conversations Enabled: consumes more memory (see Help for details) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Exit by Ctrl+C &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Saved Frames: 9232127 Capture Frames: 9438779 (44181 seconds)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Hit Ctrl+C&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Cancelled by user &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Final Results : Saved Frames: 722 Capture Frames: 722 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\Program Files\Microsoft Network Monitor 3&amp;gt;dir netmoncap.cap     &lt;br /&gt; Volume in drive C has no label.      &lt;br /&gt; Volume Serial Number is FCC3-5AF7 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt; Directory of C:\Program Files\Microsoft Network Monitor 3 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;02/22/2008&amp;#160; 09:06 AM&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 384,748 netmoncap.cap     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1 File(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 384,748 bytes      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 Dir(s)&amp;#160; 16,699,654,144 bytes free&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Here's the breakdown fo the /File syntax:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;/File &amp;lt;Capture File&amp;gt;[:&amp;lt;File Size Limit&amp;gt;]     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Name of capture file to save frames to. Extensions are used to determine      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; the behavior of nmcap.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .cap -- Netmon 2 capture file      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .chn -- Series of Netmon 2 capture files: t.cap, t(1).cap, t(2).cap...      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;File Size Limit&amp;gt; are optional. It limits the file size of each capture      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; file generated. Default single capture file size limit is 20M. The      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; upper bound of the file size limit is 500M. The lower bound of the file      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; size limit depends on the frame size captured. (Note that the maximal size      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; of ethernet frames is 1500 Bytes)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; The files are circular, so once the size limit is reached, new data will      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; overwrite older data.      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Example Usage: /File t.cap:50M&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Some other examples from the NMCAP help:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This example starts capturing network frames that DO NOT contain ARPs, ICMP,   &lt;br /&gt;NBtNs and BROWSER frames.&amp;#160; If you want to stop capturing, Press Control+C. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture&amp;#160; (!ARP AND !ICMP AND !NBTNS AND !BROWSER) /File NoNoise.cap&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Starts capturing network frames immediately. All TCP frames that have a source   &lt;br /&gt;port or destination port of 80 are saved to the chained capture files named    &lt;br /&gt;test.cap, test(1).cap, test(2).cap, ... When the user presses the 'x' key the    &lt;br /&gt;program stops. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture tcp.port == 80 /file c:\temp\test.chn:6M /stopwhen /keypress x&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This example starts capturing network frames that are TCP Continuations. The   &lt;br /&gt;capture filter is searching for String &amp;quot;Continuation in TCP Frame Summary    &lt;br /&gt;Description. In order to see the complete list of Netmon Properties that are    &lt;br /&gt;filterable,type &amp;quot;.Property&amp;quot; in the Netmon Filter UI. &lt;/p&gt;  &lt;p&gt;&lt;font face="cour" size="2"&gt;nmcap /network * /capture contains(.Property.Description, \&amp;quot;Continuation\&amp;quot;) /File TCPContinuations.cap&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8478ddb-a4e4-4431-aa0c-caf6df2165d9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Netmon" rel="tag"&gt;Netmon&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Network%20Monitor" rel="tag"&gt;Network Monitor&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2922353" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+2003/default.aspx">Windows 2003</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx">Networking</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Cool+Tools/default.aspx">Cool Tools</category></item><item><title>Domain not available when trying to TS onto a Windows 2003 server.</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/08/16/domain-not-available-when-trying-to-ts-onto-a-windows-2003-server.aspx</link><pubDate>Thu, 16 Aug 2007 20:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1765802</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1765802.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1765802</wfw:commentRss><description>&lt;P&gt;Issue came in this week where when you attempted to logon to a server it would not authenticate your request and would give you a message indicating the "domain is not available".&amp;nbsp; If you tried logging on via your UPN, then it would&amp;nbsp;give a slightly different error message&amp;nbsp;indicating that "there is not enough storage to complete this operation".&lt;/P&gt;
&lt;P&gt;After ruling out DNS and routing,&amp;nbsp;I had the person run nltest /sc_query:BRADFOREST to see what DC it was pointing at and found that it did not have a secure channel to a DC which might be a reason we can't authenticate to the server. :) When we tried to reset the&amp;nbsp;secure channel&amp;nbsp;it would fail with error code 8 (ERROR_NOT_ENOUGH_MEMORY).) So we cranked up &lt;A title=2080FFFF href="http://blogs.technet.com/brad_rutkowski/archive/2006/11/12/these-are-a-few-of-my-favorite-things-part-1.aspx" target=_blank mce_href="http://blogs.technet.com/brad_rutkowski/archive/2006/11/12/these-are-a-few-of-my-favorite-things-part-1.aspx"&gt;netlogon debug logging&lt;/A&gt; and then I repro'd the issue again.&amp;nbsp; We could then see this in the netlogon debug log:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlSetServerClientSession: New DC is an NT 5 DC: \\brad-dc-01.bradforest.local&lt;BR&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlSetServerClientSession: New DC is in closest site: \\brad-dc-01.bradforest.local&lt;BR&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlSetServerClientSession: New DC runs the time service: \\brad-dc-01.bradforest.local&lt;BR&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlSetServerClientSession: New discovery flags: 0x1dc; Old flags: 0x0&lt;BR&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlDiscoverDc: Found DC \\brad-dc-01.bradforest.local&lt;BR&gt;08/14 22:55:06 [SESSION] BRADFOREST: NlStartApiClientSession: Bind to server \\brad-dc-01.bradforest.local (TCP) 0 (Retry: 0).&lt;BR&gt;08/14 22:55:06 [MAILSLOT] Going to wait on mailslot. (Timeout: 45000)&lt;BR&gt;08/14 22:55:06 [CRITICAL] NlPrintRpcDebug: Dumping extended error for I_NetServerReqChallenge with 0xc0000017&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] ProcessID is 780 &amp;lt;-------------------------LSASS.exe&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] System Time is: 8/14/2007 21:55:6:372&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] Generating component is 8&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] Status is 14&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] Detection location is 313&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] Flags is 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [0] NumberOfParameters is 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] ProcessID is 780 &lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] System Time is: 8/14/2007 21:55:6:372&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] Generating component is 8&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] Status is 10055&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] Detection location is 311&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] Flags is 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [1] NumberOfParameters is 3&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long val: 1025&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pointer val: 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pointer val: 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] ProcessID is 780&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] System Time is: 8/14/2007 21:55:6:372&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] Generating component is 8&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] Status is 10055&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] Detection location is 315&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] Flags is 0&lt;BR&gt;08/14 22:55:06 [CRITICAL]&amp;nbsp; [2] NumberOfParameters is 0&lt;BR&gt;08/14 22:55:06 [CRITICAL] BRADFOREST: NlSessionSetup: Session setup: cannot I_NetServerReqChallenge 0xc0000017&lt;BR&gt;08/14 22:55:06 [MISC] Eventlog: 5719 (1) "BRADFOREST" 0xc0000017 c0000017&amp;nbsp;&amp;nbsp; ....&lt;/FONT&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some interesting things to look at, first off what is 0xc0000017?&amp;nbsp; Well we can use &lt;A title=ERR? href="http://blogs.technet.com/brad_rutkowski/archive/2006/09/18/to-err-is-admin.aspx" target=_blank mce_href="http://blogs.technet.com/brad_rutkowski/archive/2006/09/18/to-err-is-admin.aspx"&gt;err.exe&lt;/A&gt; to see what that translates to.&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\Windows\system32&amp;gt;err 0xc0000017&lt;BR&gt;# for hex 0xc0000017 / decimal -1073741801&lt;BR&gt;&amp;nbsp; STATUS_NO_MEMORY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;# {Not Enough Quota}&lt;BR&gt;# Not enough virtual memory or paging file quota is available&lt;BR&gt;# to complete the specified operation.&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp; 
&lt;P&gt;Well that pretty much flies with what I was seeing when trying to logon via UPN.&amp;nbsp; We can also see two status codes being returned during the secure channel setup: 14 and 10055. 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\Windows\system32&amp;gt;err /winerror.h 14&lt;BR&gt;# winerror.h selected.&lt;BR&gt;# for decimal 14 / hex 0xe&lt;BR&gt;&amp;nbsp; ERROR_OUTOFMEMORY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;# Not enough storage is available to complete this operation. &amp;lt;-- This is what I was getting when trying to TS via UPN.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\Windows\system32&amp;gt;err /winerror.h 10055&lt;BR&gt;# winerror.h selected.&lt;BR&gt;# for decimal 10055 / hex 0x2747&lt;BR&gt;&amp;nbsp; WSAENOBUFS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;--------------------HMMMMM?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;# An operation on a socket could not be performed because the&lt;BR&gt;# system lacked sufficient buffer space or because a queue&lt;BR&gt;# was full.&lt;/FONT&gt; 
&lt;P&gt;So now that is interesting, so the next thing I did was do a netstat -s and looked at the statistics of ports and didn't see anything obvious and I then added the handles column in task manager and noticed that their custom application had 17,000 handles open.&amp;nbsp; Turns out that most of those handles were outgoing calls&amp;nbsp;and used up all the ephemeral ports.&amp;nbsp; We had to set the MAXUSERPORT value in the registry to allow more ports to be used, once we did that everything returned to normal.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Ephemeral Ports&lt;/U&gt;&lt;/STRONG&gt; 
&lt;P&gt;The number of user-accessible ephemeral ports that can be used to source outbound connections is configurable using the &lt;I&gt;MaxUserPorts&lt;/I&gt; registry parameter. By default, when an application requests any socket from the system to use for an outbound call, a port between the values of 1024 and 5000 is supplied. The &lt;I&gt;MaxUserPorts&lt;/I&gt; parameter can be used to set the value of the uppermost port that the administrator chooses to allow for outbound connections. For instance, setting this value to 10,000 (decimal) would make approximately 9000 user ports available for outbound connections. 
&lt;P&gt;Here is the KB article for the issue: &lt;A title=http://support.microsoft.com/kb/196271 href="http://support.microsoft.com/kb/196271" mce_href="http://support.microsoft.com/kb/196271"&gt;http://support.microsoft.com/kb/196271&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title="TCP TIME-WAIT" href="http://www.microsoft.com/technet/network/deploy/depovg/tcpip2k.mspx" target=_blank mce_href="http://www.microsoft.com/technet/network/deploy/depovg/tcpip2k.mspx"&gt;Here&lt;/A&gt; you can read about another setting called TCP TIME-WAIT delay which is how long the port hangs around before being terminated completely (4 minutes).&amp;nbsp; This can also cause issues with apps that perform many outbound connections in a short time may use up all available ports before the ports can be recycled.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=0767317B-992E-4b12-91E0-4F059A8CECA8:51c494c0-f710-4fa9-99ce-461c8fd3dd15 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati tags: &lt;A href="http://technorati.com/tags/Windows%202003" rel=tag mce_href="http://technorati.com/tags/Windows%202003"&gt;Windows 2003&lt;/A&gt;, &lt;A href="http://technorati.com/tags/Networking" rel=tag mce_href="http://technorati.com/tags/Networking"&gt;Networking&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1765802" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+2003/default.aspx">Windows 2003</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx">Networking</category></item><item><title>How to know if TCP offload is working</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/08/10/how-to-know-if-tcp-offload-is-working.aspx</link><pubDate>Fri, 10 Aug 2007 23:10:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1733104</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1733104.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1733104</wfw:commentRss><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So you went out and got yourself a new server and it came with &lt;A href="http://en.wikipedia.org/wiki/TCP_Offload_Engine" target=_blank mce_href="http://en.wikipedia.org/wiki/TCP_Offload_Engine"&gt;TOE&lt;/A&gt; functionality, and now you're playing Windows 2008&amp;nbsp;which&amp;nbsp;has&amp;nbsp;TCP offload enabled but you just want to know if its actually offloading traffic.&amp;nbsp;&amp;nbsp;&amp;nbsp;Here's the only way I know of finding what traffic is offloaded without setting breakpoints in the debugger.&lt;/P&gt;
&lt;P&gt;First off to check if TCP offload is enabled:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;C:\&amp;gt;netsh int tcp show global&lt;BR&gt;Querying active state... &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;TCP Global Parameters&lt;BR&gt;----------------------------------------------&lt;BR&gt;Receive-Side Scaling State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : enabled&lt;BR&gt;Chimney Offload State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : enabled &amp;lt;-----&lt;BR&gt;Receive Window Auto-Tuning Level&amp;nbsp;&amp;nbsp;&amp;nbsp; : normal&lt;BR&gt;Add-On Congestion Control Provider&amp;nbsp; : ctcp&lt;BR&gt;ECN Capability&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : disabled&lt;BR&gt;RFC 1323 Timestamps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : disabled&lt;/FONT&gt; 
&lt;P&gt;To turn it on/off (does not&amp;nbsp;require a reboot) 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;netsh int tcp set global chimney=disabled &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;netsh int tcp set global chimney=enabled&lt;/FONT&gt; 
&lt;P&gt;So how do we see if traffic is offloaded?&amp;nbsp; You run netstat -nt, the 't' dumps their current offload state.&amp;nbsp;&amp;nbsp; I used findstr just to grab the offloaded connections. 
&lt;P&gt;&lt;FONT face=COUR&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;C:\&amp;gt;netstat -nt | findstr /i offloaded&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 110.100.44.52:445&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10.5.17.2:1369&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:445&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.56.15.14:4741&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.198.5.2:2444&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.100.4.219:2255&amp;nbsp;&amp;nbsp;&amp;nbsp;ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.58.6.50:54620&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.58.20.40:50442&amp;nbsp;&amp;nbsp;&amp;nbsp;ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.58.25.15:1191&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.148.8.6:58308&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;BR&gt;&amp;nbsp; TCP&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.100.44.52:49449&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.10.3.2:1025&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTABLISHED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Offloaded&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;UPDATE:&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Windows 2003 its a bit different:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN class=userInput&gt;Netsh int ip set chimney DISABLED&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN class=userInput&gt;&lt;SPAN class=userInput&gt;Netsh int ip set chimney ENABLED&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Want to know more about Scalable Networking?&lt;/P&gt;
&lt;P&gt;&lt;A title=http://technet.microsoft.com/en-us/network/bb545631.aspx href="http://technet.microsoft.com/en-us/network/bb545631.aspx" mce_href="http://technet.microsoft.com/en-us/network/bb545631.aspx"&gt;http://technet.microsoft.com/en-us/network/bb545631.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1733104" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+2003/default.aspx">Windows 2003</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx">Networking</category></item><item><title>Net Send in Windows Vista</title><link>http://blogs.technet.com/brad_rutkowski/archive/2007/08/06/net-send-in-windows-vista.aspx</link><pubDate>Mon, 06 Aug 2007 19:45:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1712700</guid><dc:creator>Brad Rutkowski</dc:creator><slash:comments>24</slash:comments><comments>http://blogs.technet.com/brad_rutkowski/comments/1712700.aspx</comments><wfw:commentRss>http://blogs.technet.com/brad_rutkowski/commentrss.aspx?PostID=1712700</wfw:commentRss><description>&lt;p&gt;You might find yourself looking for "net send" in Vista and wonder where it went?&amp;nbsp; Before you flip out, there is a solution.&amp;nbsp; Use MSG.exe&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\Windows\system32&amp;gt;msg /?&lt;br&gt;Send a message to a user. &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;MSG {username | sessionname | sessionid | @filename | *}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message] &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp; username&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Identifies the specified username.&lt;br&gt;&amp;nbsp; sessionname&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The name of the session.&lt;br&gt;&amp;nbsp; sessionid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The ID of the session.&lt;br&gt;&amp;nbsp; @filename&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Identifies a file containing a list of usernames,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sessionnames, and sessionids to send the message to.&lt;br&gt;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Send message to all sessions on specified server.&lt;br&gt;&amp;nbsp; /SERVER:servername&amp;nbsp; server to contact (default is current).&lt;br&gt;&amp;nbsp; /TIME:seconds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time delay to wait for receiver to acknowledge msg.&lt;br&gt;&amp;nbsp; /V&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display information about actions being performed.&lt;br&gt;&amp;nbsp; /W&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait for response from user, useful with /V.&lt;br&gt;&amp;nbsp; message&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message to send.&amp;nbsp; If none specified, prompts for it&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or reads from stdin.&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\msg /server:brad-dc-01 console "You're machine needs to be rebooted."&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1712700" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Business+up+front/default.aspx">Business up front</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Vista+and+Lognhorn/default.aspx">Vista and Lognhorn</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/brad_rutkowski/archive/tags/Networking/default.aspx">Networking</category></item></channel></rss>