<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>thenetworker</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/thenetworker/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/thenetworker/feed.xml</link>
    <description>networking technologies blog with a specific focus on how to support these technologies.</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:18:47 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Use of CNAME Records for availability in DFS / Offline Files integration</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/use-of-cname-records-for-availability-in-dfs-offline-files-integration</link>
      <pubDate>Tue, 12 Aug 2008 09:55:00 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2008/08/12/use-of-cname-records-for-availability-in-dfs-offline-files-integration/</guid>
      <description><![CDATA[Offline folders, a.k.a. client side caching, is a great feature of Windows since 2000 and it allows...]]></description>
      <content:encoded><![CDATA[<P>Offline folders, a.k.a. client side caching, is a great feature of Windows since 2000 and it allows for access to network shared files and folders for users when they are not connected to the network. Designed primarily for mobile users, this technology allows for users to access their files and folders when they are not connected to the network using the same path. </P>
<P>&nbsp;This is the complicated part about offline files in Windows. It is not a mere synchronization utility and is not meant to be one. It allows for the user to access the same <A href="file://server/share">\\server\share</A> UNC path even when there is no network connection and to do this it uses a combination of components that exist in both the kernel and user mode parts of the operating system. The integration between the SMB mini-redirector and the offline files component is huge so if a fileserver is somehow not accessible over the SMB protocol, the offline files component will disable the whole namespace that starts with <A href="file://server/">\\server</A>. </P>
<P>This tight integration and marking of fileservers as offline and not parts of the path offline may in some cases be unideal, such as in the case of using a DFS path and&nbsp;making a part of this path available offline. Suppose that you have a <A href="file://domain/dfsroot/publicshare/user01">\\domain\dfsroot\publicshare\user01</A> path that resides on a domain-based DFS path. Addding to this, suppose also that the user accesses other parts of this DFS path without making it available offline. The problem arises when Offline files decides that the above path becomes unaccessible. At this point, any path that starts with <A href="file://domain/">\\domain</A> will be marked as offline. If the user then tries to access some other dfs root and another folder that resides on that root, he won't be able to do that, such as <A href="file://domain/dfsroot02/someotherfolder">\\domain\dfsroot02\someotherfolder</A> will also be offline. </P>
<P>To overcome this situation we need to understand how the redirector, mrxsmb.sys handles server objects. Suppose that you establish a file share connection to a fileserver using the following in a row:</P>
<P>a. <A href="file://fileservernetbiosname/Share">\\fileserverNetBIOSName\Share</A></P>
<P>b. <A href="file://ipaddressofserver/Share">\\IPAddressOfServer\Share</A></P>
<P>c. <A href="file://fqdnoffileserver/Share">\\FQDNofFileServer\Share</A></P>
<P mce_keep="true">&nbsp;</P>
<P>All these 3 different references to the same file server will have their own server object created, called an SRV_OPEN in the redir terminology. Essentially these will behave like 3 different connections to the same fileserver. If at this moment let's say that you are accessing the dfs path <A href="file://domain/dfsroot/publicshare/user01">\\domain\dfsroot\publicshare\user01</A> and the fileserver that hosts this folder goes offline. Immediately after this all parts of the <A href="file://domain/">\\domain</A> will be inaccessible. </P>
<P>To overcome this limitation, you can create a CNAME record for the domain name and configure your clients to access this path when accessing DFS. So instead accessing <A href="file://domain/dfsroot/publicshare/user01">\\domain\dfsroot\publicshare\user01</A> you can create a cname such that users can connect to <A href="file://cnamefordomain/dfsroot/publicshare/user01">\\CNAMEforDomain\dfsroot\publicshare\user01</A> . With this configuration even if a single fileserver in that path goes down, offline folder and the redirector will mark the bogus <A href="file://cnamefordomain/">\\CNAMEforDomain</A> path as offline and you will still have access to the original domain and all hosted domain based root under this domain through <A href="file://domain/">\\domain</A>. </P>
<P>One thing to note is when you create a CNAME and immediately try to access the path you may get a "Duplicate name exists on the network" error back. This occurrs because by default the SMB file server in Windows does not allow connections to a different name than the registered name on the machine. So you can't - by default - access a file server named FILESERVER by CNAMEFILESERVER. There is a key that can be used to disable this security check and it is called DisableStrictNameChecking, when set to one, the above workaround for DFS / Offline files integration will work without any issues. DisableStrictNameChecking is a parameter of the LanManServer and you can check&nbsp;"Connecting to SMB share on a Windows 2000-based computer or a Windows Server 2003-based computer may not work with an alias name", <A href="https://support.microsoft.com/kb/281308">https://support.microsoft.com/kb/281308</A>. The hotfix mentioned in this article is meant for Windows 2000 and you do not need to install this hotfix on Windows Server 2003, the key can be configured directly. </P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>scalable networking pack</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/scalable-networking-pack</link>
      <pubDate>Thu, 31 Jul 2008 19:41:55 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2008/07/31/scalable-networking-pack/</guid>
      <description><![CDATA[In late 2007 we have released an important feature update to the existing network stack on 2003...]]></description>
      <content:encoded><![CDATA[<p>In late 2007 we have released an important feature update to the existing network stack on 2003 machines that contains the following technologies: </p>  <p>&#160;</p>  <ul>   <li>TCP Chimney offload</li>    <li>Receive Side Scaling (RSS)</li>    <li>Network Direct Memory Access (NetDMA)</li> </ul>  <p>Modern networked servers that run on the latest hardware like the PCIe bus and the associated new MSI interrupt technologies will take advantage of technologies like the RSS and NetDMA. TCP Chimney offloading helps with reassembly of TCP streams and offloads all TCP related computation to the NIC on-board processor thereby reducing the workload on the CPU and RSS will enable better handling and load distribution of incoming NIC interrupts in multiprocessor systems. </p>  <p>The details of these technologies are covered in a number of places in this <a href="https://www.microsoft.com/downloads/details.aspx?FamilyId=6AEE2E62-B708-44C1-BABE-FC0E7B0F02BD&amp;displaylang=en" target="_blank">white paper</a> and <a href="https://support.microsoft.com/kb/912222" target="_blank">KB912222</a>, &quot;The Microsoft Windows Server 2003 Scalable Networking Pack release&quot; and <a href="https://support.microsoft.com/kb/936594" target="_blank">KB936594</a>, &quot;You may experience network-related problems after you install Windows Server 2003 SP2 or the Scalable Networking Pack on a Windows Server 2003-based computer&quot;. </p>  <p>As this is a framework that is built to integrate a software function that to be offloaded to hardware, tight integration with the NIC hardware and associated drivers are there. Due the complexity and nature of this integration, and partly due to the fact that the above mentioned 3 technology frameworks being fairly new, with certain deployments we have faced issues where the workaround moving forward was to disable this feature on that server. Is it a concern to disable these features? </p>  <p>Not really, for most of the deployments out there this technology is not required.&#160; Most servers will not see any performance benefit at all by deploying this technology. Let's say that you have a very busy file server with a NIC that is %80 utilized at all times. If on this server you don't see the processor utilization around the same numbers, then you'll probably not see any difference in performance after applying this pack on that server. The main benefit will be with servers that have multiple processors, huge number of files to serve that have multiple network cards and are serving couple gigs bps. These servers will benefit from RSS in utilizing all processors in processing the MSI interrupts and distributing them equally among all processors, by offloading the TCP work to the NIC and they will perform much better when the load is more than a regular networked server. </p>  <p>In summary it would be safe to say that when you have issues with the scalable networking pack, either due the problem described in 936594 or because you have an incompatibility with the network hardware, it is advisable to contact Microsoft PSS and in the meantime remove the features enabled by this pack. It is important to monitor a server's network and processor performance before going forward to enable this feature set on a server, as described above there are only certain scenarios coupled with a high load on CPU usage in a system where this will be useful. </p>]]></content:encoded>
    </item>
    <item>
      <title>of tcp sequence numbers and PAWS</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/of-tcp-sequence-numbers-and-paws</link>
      <pubDate>Sun, 20 Apr 2008 08:08:00 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2008/04/20/of-tcp-sequence-numbers-and-paws/</guid>
      <description><![CDATA[in a not so sunny Reading, I saw it best fit to sit down and write about one of the more interesting...]]></description>
      <content:encoded><![CDATA[<P>in a not so sunny Reading, I saw it best fit to sit down and write about one of the more interesting problems that have been solved in tcp, the wrapping of sequence numbers and how this is implemented in Windows. </P>
<P>In a very fast network connection and during the transfer of a long enough data stream, tcp sequence numbers can wrap and cause the receiving system under certain conditions to reset the connection(some references give figures of this happening in 34 seconds on a 1 Gbps link). </P>
<P>Sequence numbers are a way to mark the offset in data to the receiving end, letting them know which part&nbsp;of the data they have received. the current tcp implementation uses 32 bit unsigned integers for sequence numbers. during such a transfer as described above, the receiving end could receive data that seems to be already received and may decide to discard this. </P>
<P>RFC 1323 has come up with a solution and calls this Protection against Wrapped Sequence Numbers or PAWS in short. PAWS is implemented in Windows and allows for the use of the TCP Timestamping option in addition to the sequence number to make sure that even when a seemingly wrapped sequence number is received, the timestamp of the packet that has been received is also checked to make sure that it is actually a new packet and not a part that we are re-receiving. </P>
<P>so as we are checking the timestamp now as well as the sequence number, there are other things to consider. what about clock synchronization on the sender and the receiver? PAWS does not rely on any sort of time sync between the sender and the receiver. what basically happens is, when a packet is received that contains a timestamp, we take that and save it as TS.Recent as referenced in RFC 1323, the current timestamp for that sender. as we receive more packets, the timestamp is increased accordingly and is based on what we receive as a timestamp of that packet from the sender. </P>
<P>Timestamps are ever increasing and that also is an important characteristic of the checks that PAWS does. if we receive a packet that has an older timestamp we decide that this packet cannot be received and in the end passed to the user and&nbsp;as it is an old packet, it will be discarded. an attacker could actually use this to reset a connection on the server: if you send the server a packet with a good sequence number and a much later timestamp in the future, you will invalidate all packets that should actually be received from the original sender. Microsoft released <A title=https://www.microsoft.com/technet/security/advisory/899480.mspx href="https://www.microsoft.com/technet/security/advisory/899480.mspx" mce_href="https://www.microsoft.com/technet/security/advisory/899480.mspx">https://www.microsoft.com/technet/security/advisory/899480.mspx</A> to address this and actually all systems running XP SP2 and 2003 Srv SP1 are protected against this. the issue was first addressed in the MS05-019, however that advisory does not contain references to this issue. </P>
<P>To read more on this see RFC 1323 and the KB article from Microsoft where we give details as to how this is implemented in Windows. </P>
<P>RFC 1323 - TCP Extensions for High Performance, <A title=https://www.faqs.org/rfcs/rfc1323.html href="https://www.faqs.org/rfcs/rfc1323.html" mce_href="https://www.faqs.org/rfcs/rfc1323.html">https://www.faqs.org/rfcs/rfc1323.html</A></P>
<P>Description of Windows 2000 and Windows Server 2003 TCP Features, <A title=https://support.microsoft.com/kb/224829 href="https://support.microsoft.com/kb/224829" mce_href="https://support.microsoft.com/kb/224829">https://support.microsoft.com/kb/224829</A></P>
<P>Make sure to put in a comment with any questions you may have. Happy networking!</P>]]></content:encoded>
    </item>
    <item>
      <title>of oplocks and locks</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/of-oplocks-and-locks</link>
      <pubDate>Fri, 04 Jan 2008 17:49:00 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2008/01/04/of-oplocks-and-locks/</guid>
      <description><![CDATA[below you'll find a sample understanding what oplocks are and how they are handled by SMB over the...]]></description>
      <content:encoded><![CDATA[<p>below you'll find a sample understanding what oplocks are and how they are handled by SMB over the network. the client machines at 192.168.1.200 and 192.168.1.250 are Windows XP SP2 clients and the fileserver is a Windows Server 2003 SP2. </p>  <p>I've used a very simple application on both clients to demonstrate a simple concept, an application locking a file and not sharing. the code that runs on both client machines is below:</p>  <p><font face="Courier New" color="#000080"><em> HANDLE hFile;       <br /> printf(&quot;press Enter to create file handle..\n&quot;);        <br /> getchar();</em></font></p>  <p>   <br /><font face="Courier New" color="#000080"><em> hFile = CreateFile(L&quot;</em></font><a><font face="Courier New" color="#000080"><em>\\\\192.168.1.100\\share\\foo.bar</em></font></a><font face="Courier New" color="#000080"><em>&quot;,        <br />&#160; GENERIC_READ | GENERIC_WRITE,         <br />&#160; 0,         <br />&#160; NULL,         <br />&#160; OPEN_EXISTING,         <br />&#160; FILE_ATTRIBUTE_NORMAL,         <br />&#160; NULL);        <br />&#160; <br />&#160; printf(&quot;CreateFile returns with %d\n&quot;, GetLastError());        <br />&#160; <br /> printf(&quot;file created.. press Enter to exit..\n&quot;);        <br /> getchar();</em></font></p>  <p><font face="Courier New" color="#000080"><em> return 0;</em></font></p>  <p mce_keep="true">&#160;</p>  <p>the noteworthy thing here is parameter 3, by providing this with a 0 im telling the OS that I'd like that file to be opened but I will not share it with anyone. If I get access to it, it's mine only..</p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>32 17.535497 192.168.1.200 192.168.1.100 SMB SMB:C; Tree Connect Andx, Path = </em></font><a href="file://192.168.1.100/SHARE" mce_href="file://192.168.1.100/SHARE"><font face="Courier New" color="#004080"><em>\\192.168.1.100\SHARE</em></font></a><font face="Courier New" color="#004080"><em>, Service = ?????       <br /></em></font></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>33 17.535969 192.168.1.100 192.168.1.200 SMB SMB:R; Tree Connect Andx, Service = A:       <br /></em></font></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>34 17.536613 192.168.1.200 192.168.1.100 SMB SMB:C; Nt Create Andx, FileName = \foo.bar</em></font></p>  <p mce_keep="true">.....(below is part of packet 34, how the createfile is sent over the network to the fileserver by smb..)</p>  <p mce_keep="true">&#160; <font face="Courier New" color="#004080"><em>&#160; - ShareAccess ShareAccess: 0x00000000       <br />&#160;&#160;&#160; </em></font><font face="Courier New"><font color="#004080"><em><strong>&#160; Read:&#160;&#160; (...............................0) Read NOT Allowed           <br />&#160;&#160;&#160;&#160;&#160; Write:&#160; (..............................0.) Write NOT Allowed            <br />&#160;&#160;&#160;&#160;&#160; Delete: (.............................0..) Delete NOT Allowed            <br /></strong>&#160;&#160;&#160;&#160;&#160; Rsvd:&#160;&#160; (00000000000000000000000000000...) Reserved(Must be zero)</em></font></font></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>....       <br /></em></font>&#160; <br />35 17.536838 192.168.1.100 192.168.1.200 SMB SMB:R; Nt Create Andx, FID = 0x4007 (\foo.bar@#34)    <br /></p>  <p mce_keep="true"><em>then the client at 192.168.1.250 tries to access the same file..</em></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>63 28.574906 192.168.1.250 192.168.1.100 SMB SMB:C; Tree Connect Andx, Path = </em></font><a href="file://192.168.1.100/SHARE" mce_href="file://192.168.1.100/SHARE"><font face="Courier New" color="#004080"><em>\\192.168.1.100\SHARE</em></font></a><font face="Courier New" color="#004080"><em>, Service = ?????</em></font></p> <font face="Courier New" color="#004080"><em>     <p mce_keep="true">       <br />64 28.575080 192.168.1.100 192.168.1.250 SMB SMB:R; Tree Connect Andx, Service = A:</p>      <p mce_keep="true">       <br />65 28.575562 192.168.1.250 192.168.1.100 SMB SMB:C; Nt Create Andx, FileName = \foo.bar</p>   </em></font>  <p mce_keep="true">the same application is being used so the same share access settings are sent to the server. now the server checks with the previous lock owner...</p>  <p mce_keep="true">   <br /><font face="Courier New" color="#004080"><em>66 28.575674 192.168.1.100 192.168.1.200 SMB SMB:C; Locking Andx, FID = 0x4007 (\foo.bar@#34)</em></font></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>       <br />67 28.576314 192.168.1.200 192.168.1.100 SMB SMB:C; Locking Andx, FID = 0x4007 (\foo.bar@#34)</em></font></p>  <p mce_keep="true">it's basically asking the previous owner of the lock if it can release it gracefully. the client says no</p>  <p mce_keep="true">   <br /><em><font color="#004080">71 29.573853 192.168.1.100 192.168.1.250 SMB SMB:R; Nt Create Andx - NT Status: System - Error, Code = (67) STATUS_SHARING_VIOLATION</font></em></p>  <p mce_keep="true">the second machine receives a STATUS_SHARING_VIOLATION and the file cannot be opened. This is what happens when oplocks are enabled. now check below. this new trace is from an instance where both clients are not using oplocks. you can do this on 2K and later by adding a new dword OplocksDisabled under services\mrxsmb..</p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>25 2.766744 192.168.1.200 192.168.1.100 SMB SMB:C; Tree Connect Andx, Path = </em></font><a href="file://192.168.1.100/SHARE" mce_href="file://192.168.1.100/SHARE"><font face="Courier New" color="#004080"><em>\\192.168.1.100\SHARE</em></font></a><font face="Courier New" color="#004080"><em>, Service = ?????</em></font></p> <font face="Courier New" color="#004080"><em>     <p mce_keep="true">       <br />26 2.767213 192.168.1.100 192.168.1.200 SMB SMB:R; Tree Connect Andx, Service = A:</p>      <p mce_keep="true">       <br />27 2.767977 192.168.1.200 192.168.1.100 SMB SMB:C; Nt Create Andx, FileName = \foo.bar</p>      <p mce_keep="true">       <br />28 2.768163 192.168.1.100 192.168.1.200 SMB SMB:R; Nt Create Andx, FID = 0x400F (\foo.bar@#27)</p>   </em></font>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>....       <br />64 15.419357 192.168.1.250 192.168.1.100 SMB SMB:C; Nt Create Andx, FileName = \foo.bar</em></font></p>  <p mce_keep="true"><font face="Courier New" color="#004080"><em>       <br />66 16.419300 192.168.1.100 192.168.1.250 SMB SMB:R; Nt Create Andx - NT Status: System - Error, Code = (67) STATUS_SHARING_VIOLATION</em></font></p>  <p mce_keep="true">&#160;</p>  <p mce_keep="true">the server responds immediately after it receives the request to create a handle on the file. this file is open as share nothing by a previous client and that client has not requested any oplocks on the file. the server in the first instance where oplocks are in effect, asks the client first because it thinks the client may release it, and it doesnt want the first client to lose any data in any scenario because the first client may be opportunistically caching local in memory information and we do not want to mess around with data integrity. </p>  <p mce_keep="true">&#160;</p>  <p mce_keep="true">the second instance where oplocks are not there, the server responds to the second opener immediately as it knows the first client is not caching anything and uses the open file object on the server side and information on this object to immediately deny the second open request. </p>]]></content:encoded>
    </item>
    <item>
      <title>of file access over smb and trace analysis – part 2</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/of-file-access-over-smb-and-trace-analysis-part-2</link>
      <pubDate>Fri, 14 Dec 2007 18:15:35 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2007/12/14/of-file-access-over-smb-and-trace-analysis-part-2/</guid>
      <description><![CDATA[4    26.359326        192.168.1.6    192.168.1.8    NTLMSSP    NTLMSSP:NTLM NEGOTIATE...]]></description>
      <content:encoded><![CDATA[<p>
 </p><p>4    26.359326        192.168.1.6    192.168.1.8    NTLMSSP    NTLMSSP:NTLM NEGOTIATE MESSAGE
</p><p>5    26.650751        192.168.1.8    192.168.1.6    NTLMSSP    NTLMSSP:NTLM CHALLENGE MESSAGE
</p><p>6    26.835188        192.168.1.6    192.168.1.8    NTLMSSP    NTLMSSP:NTLM AUTHENTICATE MESSAGE, Domain: GTSC-B7A3A93C1A, User: administrator, Workstation: GTSC-B7A3A93C1A
</p><p>7    28.531328        192.168.1.8    192.168.1.6    SMB    SMB:R; Session Setup Andx
</p><p>
 </p><p>The next thing in the SMB comm with the file server will the setting up of the user session. The SMB command used for this is Session Setup AndX. The 4 packets above shows this to us. Windows clients will use NTLM or Kerberos, preferrably Kerboros in most instances. This trace shows the use of NTLM as the authentication SSP, security support provider, it was chosen by the client as the file server's IP was used rather than the server name. That's the default behaviour. 
</p><p>
 </p><p>  Frame: 
</p><p>+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-03-FF-66-C3-39],SourceAddress:[00-03-FF-60-C3-39]
</p><p>+ Ipv4: Src = 192.168.1.6, Dest = 192.168.1.8, Next Protocol = TCP, Packet ID = 3002, Total IP Length = 246
</p><p>+ Tcp: Flags=...AP..., SrcPort=1240, DstPort=Microsoft-DS(445), Len=206, Seq=2987748740 - 2987748946, Ack=4142961914, Win=65446
</p><p>+ Nbtss: SESSION MESSAGE, Length =202
</p><p>- Smb: C; Session Setup Andx
</p><p>    AsciiString Protocol: SMB
</p><p>    UINT8 Command: Session Setup Andx 115(0x73)
</p><p>  + UINT32 NTStatus: 0x0, Facility = FACILITY_SYSTEM, Severity = STATUS_SEVERITY_SUCCESS, Code = (0) STATUS_SUCCESS
</p><p>  +  SMBHeader: Command, TID: 0x0000, PID: 0xFEFF, UID: 0x0000, MID: 0x0040
</p><p>  + SMBRequestSessionSetupAndXNTLMESS CSessionSetupAndXNTLMESS: 
</p><p>- NtlmSSP: NTLM NEGOTIATE MESSAGE
</p><p>    AsciiStringTerm Signature: NTLMSSP
</p><p>    UINT32 MessageType: Negotiate Message (0x00000001)
</p><p>  -  NtlmsspNegotiateMessage: 
</p><p>   + NtlmsspNegotiateFlags NegotiateFlags: 0xE2088297 (NTLM v2128-bit encryption, Always Sign)
</p><p>   - NtlmsspString WorkstationDomainHeader: Length: 0, Offset: 0
</p><p>      UINT16 Length: 0 (0x0)
</p><p>      UINT16 MaximumLength: 0 (0x0)
</p><p>      UINT32 BufferOffset: 0 (0x0)
</p><p>   - NtlmsspString WorkstationNameHeader: Length: 0, Offset: 0
</p><p>      UINT16 Length: 0 (0x0)
</p><p>      UINT16 MaximumLength: 0 (0x0)
</p><p>      UINT32 BufferOffset: 0 (0x0)
</p><p>   - NtlmsspVersion Version: Windows 5.1 Build 10250 NTLMSSPv15
</p><p>      UINT8 ProductMajorVersion: 5 (0x5)
</p><p>      UINT8 ProductMinorVersion: 1 (0x1)
</p><p>      UINT16 ProductBuild: 10250 (0x280A)
</p><p>      UINT24 Reserved: 0 (0x0)
</p><p>      UINT8 NTLMRevisionCurrent: 15 (0xF)
</p><p>
 </p><p>netmon will show you the additional information provided in the first request from the client as you see in this screenshot. The most important part in this message in addition to the Session Setup SMB, will be the NTLM's negotiate flags. This determines things such as the level of encyrption supported, and methods that will be used for authentication. This is a 32 bit field and each bit is responsible for carrying another option. 
</p><p>The next the client does is a connection to the "srvsvc" named pipe on the file server. 
</p><p>8    28.531626        192.168.1.6    192.168.1.8    SMB    SMB:C; Tree Connect Andx, Path = \\192.168.1.8\IPC$, Service = ?????
</p><p>9    28.560590        192.168.1.8    192.168.1.6    SMB    SMB:R; Tree Connect Andx, Service = IPC
</p><p>10    52.876400        192.168.1.6    192.168.1.8    SMB    SMB:C; Nt Create Andx, FileName = \srvsvc
</p><p>11    54.153964        192.168.1.8    192.168.1.6    SMB    SMB:R; Nt Create Andx, FID = 0x4000
</p><p>12    54.182335        192.168.1.6    192.168.1.8    MSRPC    MSRPC:Warning: 
</p><p>13    54.237065        192.168.1.8    192.168.1.6    SMB    SMB:R; Write Andx, FID = 0x0000, 72 bytes
</p><p>14    54.255979        192.168.1.6    192.168.1.8    SMB    SMB:C; Read Andx, FID = 0x4000, 1024 bytes at Offset 0
</p><p>15    54.320003        192.168.1.8    192.168.1.6    MSRPC    MSRPC:Warning: 
</p><p>16    54.320226        192.168.1.6    192.168.1.8    MSRPC    MSRPC:Warning: 
</p><p>17    54.701699        192.168.1.8    192.168.1.6    MSRPC    MSRPC:Warning: 
</p><p>18    54.701932        192.168.1.6    192.168.1.8    SMB    SMB:C; Close, FID = 0x4000
</p><p>19    54.702385        192.168.1.8    192.168.1.6    SMB    SMB:R; Close, FID = 0x0000
</p><p>20    54.755524        192.168.1.6    192.168.1.8    SMB    SMB:C; Nt Create Andx, FileName = \srvsvc
</p><p>21    54.756530        192.168.1.8    192.168.1.6    SMB    SMB:R; Nt Create Andx, FID = 0x4001
</p><p>22    54.756704        192.168.1.6    192.168.1.8    MSRPC    MSRPC:Warning: 
</p><p>23    54.757058        192.168.1.8    192.168.1.6    SMB    SMB:R; Write Andx, FID = 0x0000, 72 bytes
</p><p>24    54.757181        192.168.1.6    192.168.1.8    SMB    SMB:C; Read Andx, FID = 0x4001, 1024 bytes at Offset 0
</p><p>25    54.757448        192.168.1.8    192.168.1.6    MSRPC    MSRPC:Warning: 
</p><p>26    54.757543        192.168.1.6    192.168.1.8    MSRPC    MSRPC:Warning: 
</p><p>27    54.800388        192.168.1.8    192.168.1.6    MSRPC    MSRPC:Warning: 
</p><p>28    54.800546        192.168.1.6    192.168.1.8    SMB    SMB:C; Close, FID = 0x4001
</p><p>29    54.801091        192.168.1.8    192.168.1.6    SMB    SMB:R; Close, FID = 0x0000
</p><p>
 </p><p>This connection is required to send queries on the file share and get more information on the share. 
</p><p>Then the client checks to see if it's connecting to a DFS namespace: 
</p><p>34    68.715121        192.168.1.6    192.168.1.8    SMB    SMB:C; Tree Connect Andx, Path = \\192.168.1.8\IPC$, Service = ?????
</p><p>35    68.715612        192.168.1.8    192.168.1.6    SMB    SMB:R; Tree Connect Andx, Service = IPC
</p><p>36    68.715780        192.168.1.6    192.168.1.8    DFS    DFS:Get DFS Referral Request, FileName: \192.168.1.8\c$, MaxReferralLevel: 3
</p><p>37    68.812676        192.168.1.8    192.168.1.6    SMB    SMB:R; Transact2, Open2 - NT Status: System - Error, Code = (14) STATUS_NO_SUCH_DEVICE
</p><p>
 </p><p>STATUS_NO_SUCH_DEVICE from the fileserver means that the share is not a Dfs namespace and that the client should connect directly to this share..
</p><p>After this has been done the communication will continue with the client doing the actual tree connect to the share name directly this time. In the attached trace from the earlier post you will see that the client queries for the files with Trans2 requests and then at the end closes the tree connection with a tree disconnect, and before that also closing the file with a Close SMB. The last in the comm will be Logoff SMB to logoff the user from the file server. 
</p><p>
 </p><p>
 </p>]]></content:encoded>
    </item>
    <item>
      <title>of file access over smb and trace analysis</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/of-file-access-over-smb-and-trace-analysis</link>
      <pubDate>Sun, 09 Dec 2007 09:57:00 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2007/12/09/of-file-access-over-smb-and-trace-analysis/</guid>
      <description><![CDATA[file access over the network using the command prompt is utilized by the Microsoft CSS engineers to...]]></description>
      <content:encoded><![CDATA[<P>file access over the network using the command prompt is utilized by the Microsoft CSS engineers to understand if a&nbsp;specific file access problem over the network is associated with the shell or the OS. while this is not conclusive, this simple test will tell you if you are hitting an issue in the shell and related installed 3rd party shell extensions or not. to be %100 sure, any file access problem need to be reproduced at the Safe Mode with Networking in order for the problem to be attributed to the OS. </P>
<P>in this post I've attached a simple network trace that you can check together with its analysis of the first 2 frames. I will continue analyzing this trace with multiple&nbsp;posts.&nbsp;at the first sight, trace analysis applications seem simple, applications like Microsoft Network Monitor or Wireshark (these are 2 best out there and all other seem to lack the extensibility and the vast support for the protocols that these 2 have). they will parse the packets from the trace file into fields and their associated values in a readable format. while this may be sufficient with simple cases, most of the the time, one who wants to analyze the situation over the network needs to have extensive protocol information in order to be able to find a root cause, the reason why a specific operation over the network fails. </P>
<P>this trace will include a very generic xp client accessing a 2003 file server, both at SP2, mapping a drive, listing files and outputting contents of a file in that share and then disconnecting. I'll try to give as much detail as possible. </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 24 24.641698&nbsp;&nbsp; 192.168.1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Negotiate Protocol Request<BR>&nbsp;&nbsp;&nbsp;&nbsp; 28 25.797167&nbsp;&nbsp; 192.168.1.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Negotiate Protocol Response</P>
<P>the very first that happens before the above&nbsp;2 packets&nbsp;will actually be the transport connection.&nbsp;the client, here 192.168.1.6, will initiate a 3 way handshake with 192.168.1.8. by default Windows clients will try to establish a connection over 139 and 445 simultaneously. while these can be controlled, if you don't choose to do so, the first port that the client receives a syn,ack from will be the one used for the comms. for your reference 139 is the netbios session protocol port and 445 is direct hosted smb. </P>
<P>after this is&nbsp;successful, next thing will be negotiate protocol request. this is the very first in an smb communication. client will send a list of dialects it supports:</P>
<P mce_keep="true">&nbsp;</P>
<P>SMB (Server Message Block Protocol)<BR>&nbsp;&nbsp;&nbsp; SMB Header<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server Component: SMB<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Response in: 28]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMB Command: Negotiate Protocol (0x72)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NT Status: STATUS_SUCCESS (0x00000000)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags: 0x18<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0... .... = Request/Response: Message is a request to the server<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .0.. .... = Notify: Notify client only on open<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..0. .... = Oplocks: OpLock not requested/granted<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...1 .... = Canonicalized Pathnames: Pathnames are canonicalized<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... 1... = Case Sensitivity: Path names are caseless<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... ..0. = Receive Buffer Posted: Receive buffer has not been posted<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... ...0 = Lock and Read: Lock&amp;Read, Write&amp;Unlock are not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flags2: 0xc853<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1... .... .... .... = Unicode Strings: Strings are Unicode<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .1.. .... .... .... = Error Code Type: Error codes are NT error codes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..0. .... .... .... = Execute-only Reads: Don't permit reads if execute-only<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...0 .... .... .... = Dfs: Don't resolve pathnames with Dfs<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... 1... .... .... = Extended Security Negotiation: Extended security negotiation is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .1.. .... = Long Names Used: Path names in request are long file names<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .0.. = Security Signatures: Security signatures are not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... ..1. = Extended Attributes: Extended attributes are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... ...1 = Long Names Allowed: Long file names are allowed in the response<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process ID High: 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Signature: 0000000000000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reserved: 0000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tree ID: 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process ID: 65279<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User ID: 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Multiplex ID: 0<BR>&nbsp;&nbsp;&nbsp; Negotiate Protocol Request (0x72)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Word Count (WCT): 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Byte Count (BCC): 98<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Requested Dialects<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: PC NETWORK PROGRAM 1.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: PC NETWORK PROGRAM 1.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: LANMAN1.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: LANMAN1.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: Windows for Workgroups 3.1a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: Windows for Workgroups 3.1a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: LM1.2X002<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: LM1.2X002<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: LANMAN2.1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: LANMAN2.1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: NT LM 0.12<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: NT LM 0.12</P>
<P mce_keep="true">&nbsp;</P>
<P>the server will respond back with:</P>
<P>&nbsp;Negotiate Protocol Response (0x72)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Word Count (WCT): 17<BR><EM>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</EM><STRONG><EM>&nbsp;&nbsp; Dialect Index: 5, greater than LANMAN2.1</EM><BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Security Mode: 0x03<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... ...1 = Mode: USER security mode<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... ..1. = Password: ENCRYPTED password. Use challenge/response<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .0.. = Signatures: Security signatures NOT enabled<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... 0... = Sig Req: Security signatures NOT required<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max Mpx Count: 50<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max VCs: 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max Buffer Size: 4356<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max Raw Buffer: 65536<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session Key: 0x00000000<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Capabilities: 0x8001f3fd<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... .... ...1 = Raw Mode: Read Raw and Write Raw are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... .... ..0. = MPX Mode: Read Mpx and Write Mpx are not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... .... .1.. = Unicode: Unicode strings are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... .... 1... = Large Files: Large files are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... ...1 .... = NT SMBs: NT SMBs are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... ..1. .... = RPC Remote APIs: RPC remote APIs are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... .1.. .... = NT Status Codes: NT status codes are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... .... 1... .... = Level 2 Oplocks: Level 2 oplocks are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... ...1 .... .... = Lock and Read: Lock and Read is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .... ..1. .... .... = NT Find: NT Find is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... ...1 .... .... .... = Dfs: Dfs is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... ..1. .... .... .... = Infolevel Passthru: NT information level request passthrough is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... .1.. .... .... .... = Large ReadX: Large Read andX is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... .... .... 1... .... .... .... = Large WriteX: Large Write andX is supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... .... 0... .... .... .... .... .... = UNIX: UNIX extensions are not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .... ..0. .... .... .... .... .... .... = Reserved: Reserved<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..0. .... .... .... .... .... .... .... = Bulk Transfer: Bulk Read and Bulk Write are not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .0.. .... .... .... .... .... .... .... = Compressed Data: Compressed data transfer is not supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1... .... .... .... .... .... .... .... = Extended Security: Extended security exchanges are supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System Time: Dec&nbsp; 9, 2007 15:00:34.908906400<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server Time Zone: -120 min from UTC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key Length: 0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Byte Count (BCC): 16<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server GUID: 4900C30A3474AB418E7207FA3774EC7E<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Security Blob: &lt;MISSING&gt;<BR></P>
<P>with this negotiate protocol response back from the server, the dialect to be used can be seen. in this case it is greater than lanman2.1 and will be:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dialect: NT LM 0.12<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer Format: Dialect (2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name: NT LM 0.12</P>
<P>the other important part in this response is the capabilities part. this tells you what options and features of smb is supported on the file server. this is maybe the first thing to check as for example in an oplock problem, will tell you if the server support oplocks and a bunc of other things.</P>
<P>the next thing will be obvious, user authentication. that will be in another post, until then happy networking..</P>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6003/00/00/02/62/78/49/smb.cap" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6003-00-00-02-62-78-49/smb.cap">smb.cap</a></p>]]></content:encoded>
    </item>
    <item>
      <title>of slow file copy issues</title>
      <link>https://docs.microsoft.com/archive/blogs/thenetworker/of-slow-file-copy-issues</link>
      <pubDate>Sun, 21 Oct 2007 08:39:00 GMT</pubDate>
      <dc:creator><![CDATA[Oguzhan Filizlibay]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/thenetworker/2007/10/21/of-slow-file-copy-issues/</guid>
      <description><![CDATA[from time to time you may just as well be unsatisfied with the speed of file copy over a network...]]></description>
      <content:encoded><![CDATA[<P>from time to time you may just as well be unsatisfied with the speed of file copy over a network given your fast and efficient switching and network infrastructure and the new servers that has just come in and you are piloting these before production. </P>
<P>&nbsp;file copy as simple as it may seem by selecting a bunch and right clicking to choose Copy in explorer is a complex operation in the background for the operating system. the multilayered approach in handling IO requests within kernel mode, needs some understanding of the IO architecture of Windows to tackle these types of issues. most of the time you will find that 3rd party filter drivers, misbehaving user mode applications are a cause and when stripped of these additional layers of complexity you will see that most of the time Windows to Windows file copy is efficient. </P>
<P>isolation and the reproducibility of such an issue is important so as to find the component that is indeed slow. is copying the same file without Antivirus in place still slow, is it your specific application that is slow, do you see the same results when copying the file over the command prompt, or better yet can the issue be reproduced when the system is booted into Safe Mode with Networking(will abbreviate to SMN mode)? in SMN any 3rd party networking or other AV and similar filter drivers will be disabled. in Windows drivers interact with each other and for any given IO request there may be multiple drivers interacting within a driver stack to fullfill the request. SNM will help you get these additional 3rd party components out of the picture thereby help isolate the root component of the cause. </P>
<P>once you are certain the issue is reproduced reliably in SNM, you need to make sure if the server side is consistent in this sense as well. can you reproduce the same issue with another file server? if the answer is no, then the server will need investigating. slow responses for file requests over a network file server, might mean that the server is having local performance issues and it might just be hitting its own limits in terms of servicing a specific number of requests at a time. </P>
<P>this would require looking at a performance log collected for a day or two and then analyzing this log to see trends in memory, disk, network and processor usage. I'll try to address other aspect of file access performance in coming posts, until then happy SMBing. </P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
  </channel>
</rss>