<?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>The wire never lies.</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/kpapadak/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/kpapadak/feed.xml</link>
    <description>Understanding Exchange one packet at a time.</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:26:35 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Setting up Kerberos with a Client Access Server Array Exchange 2010 SP1</title>
      <link>https://docs.microsoft.com/archive/blogs/kpapadak/setting-up-kerberos-with-a-client-access-server-array-exchange-2010-sp1</link>
      <pubDate>Sat, 12 Mar 2011 17:15:53 GMT</pubDate>
      <dc:creator><![CDATA[Konstantin Papadakis - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/kpapadak/2011/03/12/setting-up-kerberos-with-a-client-access-server-array-exchange-2010-sp1/</guid>
      <description><![CDATA[&#160;  By default, clients that attempt to negotiate authentication will fail Kerberos...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>By default, clients that attempt to negotiate authentication will fail Kerberos authentication when a CAS array is configured thus falling back to NTLM. The reason Kerberos authentication fails is because the authentication request is sent using the FQDN of the CAS array which does not match the SPN value on the CAS servers. To address this issue we must create an appropriate SPN value for the CAS array within Active Directory. We also cannot configure the same SPN value on multiple objects in Active Directory. To work around this we created a method called Alternate Service Account (ASA). The ASA can be either a computer account or user account. Then we can associate the SPNs we want for the CAS array to the ASA. </p>  <h6>Note.<font style="font-weight: normal"> We can use one ASA for all CAS arrays or make an ASA for each CAS array.</font> </h6>  <p><strong><font size="2"></font></strong></p>  <p><strong><font size="2">Creating the alternate service account (ASA)        <br /></font></strong><strong><font size="2">       <br /></font></strong>Open <strong>Active Directory Users and Computers</strong> and create the ASA. In this example we will create a computer account. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/7624.image_35F531B6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/7624.image_5F00_35F531B6.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/7142.image_thumb_060A6A28.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/7142.image_5F00_thumb_5F00_060A6A28.png" width="574" height="455" /></a></p>  <p>The account name does not matter as long is its valid but consider making the name self explanatory.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/3513.image_5C46EF34.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/3513.image_5F00_5C46EF34.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6558.image_thumb_34A0730A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6558.image_5F00_thumb_5F00_34A0730A.png" width="412" height="363" /></a></p>  <p>Fill in a description. (This is not required but should to prevent some-one from deleting the account)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6253.image_4BEB777B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6253.image_5F00_4BEB777B.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/1385.image_thumb_191B7107.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/1385.image_5F00_thumb_5F00_191B7107.png" width="391" height="422" /></a></p>  <p>&#160;</p>  <p>   <br /><strong><font size="2">Setting the correct SPNs to the ASA</font></strong></p>  <p>Confirm the FQDN of the CAS array with the following command in Exchange Management Shell. </p>  <p><strong>Get-ClientAccessArray</strong>&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6562.image_6C924120.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6562.image_5F00_6C924120.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/5001.image_thumb_7E02A1F8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/5001.image_5F00_thumb_5F00_7E02A1F8.png" width="755" height="92" /></a></p>  <p>Now we need to set the SPNs of the CAS array Autodiscover and EWS. Some MAPI applications that interact with Exchange may need to use the Array’s short name or NetBIOS. We will set NetBIOS and FQDN for each SPN.   <br />In this example the commands will be as follows. (If a computer account is being used, a $ must be after the name you have assigned.)</p> <strong>setspn -s exchangeMDB/outlook CASARRAY-ASA$    <br />setspn -s exchangeRFR/outlook CASARRAY-ASA$     <br />setspn -s exchangeAB/outlook CASARRAY-ASA$     <br /></strong><strong>setspn -s exchangeMDB/outlook.proseware.lab CASARRAY-ASA$    <br />setspn -s exchangeRFR/outlook.proseware.lab CASARRAY-ASA$     <br />setspn -s exchangeAB/outlook.proseware.lab CASARRAY-ASA$     <br />setspn -s http/outlook.proseware.lab CASARRAY-ASA$     <br />setspn -s http/autodiscover.proseware.com CASARRAY-ASA$     <br /></strong>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6175.image_7CBE0919.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6175.image_5F00_7CBE0919.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/7144.image_thumb_42CEC62D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/7144.image_5F00_thumb_5F00_42CEC62D.png" width="684" height="449" /></a>     <br /></p>  <p><font size="1"><strong>Note</strong>. At this point new authentication attempts to the above DNS names will fail until the ASA is assigned to the CAS servers.At this point we could back out by simply running the following command for each SPN. <strong>setspn –d {spn} {account}</strong></font></p>  <p><strong></strong></p>  <p><strong></strong></p>  <p><strong><font size="2">Setting the ASA to the CAS servers        <br /></font></strong>    <br />From here we will want to assign the ASA to our CAS servers so that clients can start authenticating to the CAS array.     <br />Go to the Scripts directory located in the Exchange install directory (by default it is C:\Program Files\Microsoft\Exchange Server\V14\Scripts\)</p>  <p>Run the following command in Exchange Management Shell.</p>  <p><strong>.\RollAlternateserviceAccountPassword.ps1 –ToArrayMembers {CAS array name}-GenerateNewPasswordFor {Domain}\{ASA}&quot; –Verbose</strong>     <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/8244.image_71D10204.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/8244.image_5F00_71D10204.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/1307.image_thumb_7817D892.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/1307.image_5F00_thumb_5F00_7817D892.png" width="779" height="62" /></a></p>  <p>The script will ask if we want to change the password on the ASA.In this case we will say <em>Yes</em>.     <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/2451.image_5DD76F6E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/2451.image_5F00_5DD76F6E.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/5584.image_thumb_2F7DE9C1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/5584.image_5F00_thumb_5F00_2F7DE9C1.png" width="737" height="53" /></a></p>  <p>&#160;</p>  <p>The final output will tell us if we succeeded or failed on any part of the script. <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6663.image_00C4C3D0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6663.image_5F00_00C4C3D0.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/6366.image_thumb_636F6C05.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/6366.image_5F00_thumb_5F00_636F6C05.png" width="783" height="351" /></a></p>  <p>&#160;</p>  <p><strong><font size="2">Confirm that CAS is accepting Kerberos</font></strong></p>  <p>Now we want to verify that the CAS servers can accept Kerberos requests.    <br />Check in the Address book logs to see if the authentication method is set to Kerberos. (Default location is C:\Program Files\Microsoft\Exchange server\v14\Logging\AddressBook Service)</p>  <pre>2011-03-11T20:00:12.000Z,9,0,/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=Administrator,,192.168.0.123,proseware-hc1,ncacn_ip_tcp,Bind,,6,,,<strong>Kerberos</strong>,</pre>

<p>OR</p>

<p>Since this blog is geared to exchange and networking. Take a netmon and look to see if we are using a Kerberos Token.</p>

<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/0508.image_6370D026.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/0508.image_5F00_6370D026.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/2063.image_thumb_4392469E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/2063.image_5F00_thumb_5F00_4392469E.png" width="709" height="462" /></a></p>

<p>&#160;</p>

<p>&#160;</p>

<p><strong><font size="2">Side notes</font></strong></p>

<p>If you ever add an additional node to the CAS array you can use the following command to copy the ASA credentials over to the new server without changing the password on the ASA.</p>

<p><strong>.\RollAlternateServiceAccountPassword.ps1 -CopyFrom ServerA -ToSpecificServers ServerB –Verbose</strong></p>

<p><strong><font size="2"></font></strong></p>

<p><font size="2">To find the CAS servers that have been configured with an ASA run the following command.</font></p>

<p><strong>Get-ClientAccessServer -IncludeAlternateServiceAccountCredentialstatus |Fl Name, AlternateServiceAccountConfiguration</strong><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/7762.image_3C3C6501.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/7762.image_5F00_3C3C6501.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/86/96/metablogapi/5706.image_thumb_01E0EF20.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-86-96-metablogapi/5706.image_5F00_thumb_5F00_01E0EF20.png" width="738" height="123" /></a></p>

<p><strong><font size="2"></font></strong></p>

<p><strong><font size="2">Related Articles</font></strong></p>

<p><a href="https://technet.microsoft.com/en-us/library/ff808312.aspx">Configuring Kerberos Authentication for Load-Balanced Client Access Servers</a></p>

<p><a href="https://technet.microsoft.com/en-us/library/ff808313.aspx">Using Kerberos with a Client Access Server Array or a Load-Balancing Solution</a></p>

<p><a href="https://technet.microsoft.com/en-us/library/ff808311.aspx">Using the RollAlternateserviceAccountCredential.ps1 Script in the Shell</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Template: Taking network traces with unencrypted MAPI traffic.</title>
      <link>https://docs.microsoft.com/archive/blogs/kpapadak/template-taking-network-traces-with-unencrypted-mapi-traffic</link>
      <pubDate>Mon, 31 Jan 2011 17:00:33 GMT</pubDate>
      <dc:creator><![CDATA[Konstantin Papadakis - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/kpapadak/2011/01/31/template-taking-network-traces-with-unencrypted-mapi-traffic/</guid>
      <description><![CDATA[&#160;  When Outlook 2007/2010 is setup with an Exchange profile by default it will enable RPC...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>When Outlook 2007/2010 is setup with an Exchange profile by default it will enable RPC encryption. This prevents devices or support from reviewing the raw <strong>remote operation (ROP)</strong> sent between the client and server. Normally this is not a big deal but in some support cases vital information can be given by reviewing the ROPs. </p>  <p><strong>How to disable MAPI/RPC encryption on the client. Outlook 2003/2007/2010.</strong></p>  <ol>   <li>In the Windows <b>Control Panel</b>, double click <b>Mail</b>. </li>    <li>Choose <b>Email Accounts…</b> </li>    <li>Highlight the Exchange account and click <b>Change</b>. </li>    <li>Click <b>More Settings…</b> </li>    <li>Click on the <b>Security Tab</b>. </li>    <li>Ensure &quot;<b>Encrypt data between Microsoft Office Outlook and Microsoft Exchange</b>.&quot; is <b>Unchecked</b>.       <br />If the option is checked and greyed out the there is most likely a GPO applying this setting. </li> </ol>  <p>Now the Exchange server must allow unencrypted clients to connect. By default Exchange 2003/2007 allows unencrypted clients but Exchange 2010 does not. Exchange 2010 requires encryption.</p>  <p><strong>How to check and disable the requirement of MAPI encryption on Exchange 2010.</strong></p>  <p>In the <strong>Exchange Management Shell</strong> run the following commands     <br /><strong>Get-RPCClientAccess | ft Server, EncryptionRequired      <br /></strong>Note the setting of the servers should you want to change them back     <br /><strong>Get-RPCClientAccess | Set-RPCClientAccess –EncryptionRequired:$False</strong></p>  <p>Note. This change does not require the restarting of any services and will not cause any current clients to disconnect. Clients with MAPI encryption enabled will still be able to connect. Must be done to all CAS servers in the array and the Public Folder server.</p>  <p><strong>How to check and disable the requirement of MAPI encryption on Exchange 2007.</strong></p>  <p><font face="Arial">In the <strong>Exchange Management Shell</strong> run the following commands</font><strong>      <br /><font face="Arial">Get-MailboxServer | ft Name, MapiEncryptionRequired        <br />Get-MailboxServer | Set-MailboxServer -MapiEncryptionRequired:$false</font></strong> </p>  <p><font face="Arial">Now that the above has been done we can start taking unencrypted network trace.</font>     <br /><font face="Arial"><a href="https://blogs.technet.com/b/kpapadak/archive/2011/01/31/template-how-to-take-network-traces-between-clients-and-exchange-servers.aspx">Template: How to take Network traces between clients and exchange servers.</a></font> </p>  <p><font face="Arial"><strong>To confirm that the client has been set for unencrypted traffic you can open the trace in netmon and review the following.</strong></font> </p>  <p><font face="Arial">Open the capture with netmon and find a MAIPI response. Review the Frame Details and drill down to the AuthVerifier. If you see the below then the client was not setup correctly.</font> </p>  <p><font size="1">Frame: Number = 4100, Captured Frame Length = 134, MediaType = ETHERNET      <br />+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-00-00-00-00-00],SourceAddress:[00-00-00-00-00-00]       <br />+ Ipv4: Src = 10.10.10.10 Dest = 10.20.20.20, Next Protocol = TCP, Packet ID = 14063, Total IP Length = 120       <br />+ Tcp: Flags=...AP..., SrcPort=7575, DstPort=54125, PayloadLen=80, Seq=2622971141 - 2622971221, Ack=3837493092, Win=255 (scale factor 0x8) = 65280       <br />- MSRPC: c/o Response: Exchange Server STORE EMSMDB Interface {A4F1DB00-CA47-1067-B31F-00DD010662DA}&#160; Call=0x8&#160; Context=0x0&#160; Hint=0x18&#160; Cancels=0x0 Warning: Octets trailer appends to authentication token       <br />&#160; - Response:       <br />&#160;&#160;&#160;&#160; RpcVers: 5 (0x5)       <br />&#160;&#160;&#160;&#160; RpcVersMinor: 0 (0x0)       <br />&#160;&#160;&#160;&#160; PType: 0x02 - Response       <br />&#160;&#160; + PfcFlags: 3 (0x3)       <br />&#160;&#160; + PackedDrep: 0x10       <br />&#160;&#160;&#160;&#160; FragLength: 80 (0x50)       <br />&#160;&#160;&#160;&#160; AuthLength: 16 (0x10)       <br />&#160;&#160;&#160;&#160; CallId: 8 (0x8)       <br />&#160;&#160;&#160;&#160; AllocHint: 24 (0x18)       <br />&#160;&#160;&#160;&#160; PContId: 0 (0x0)       <br />&#160;&#160;&#160;&#160; CancelCount: 0 (0x0)       <br />&#160;&#160;&#160;&#160; Rsvd1: 0 (0x0)       <br />&#160;&#160; - PDUBody: 24 bytes       <br />&#160;&#160;&#160; - StubData: 0x1       <br />&#160;&#160;&#160;&#160;&#160;&#160; MSRPCPayload: Binary Large Object (24 Bytes)       <br />&#160;&#160; - AuthVerifier:       <br />&#160;&#160;&#160;&#160;&#160; AuthPad: Binary Large Object (8 Bytes)       <br />&#160;&#160;&#160;&#160;&#160; AuthType: RPC_C_AUTHN_WINNT - NTLM authentication will be used.       <br /><font style="background-color: #ffff00"><font style="background-color: #ffff00"></font></font></font><font color="#ff0000" size="1">&#160;&#160;&#160;&#160;&#160; AuthLevel: dce_c_authn_level_pkt_privacy - This level offers the dce_c_authn_level_pkt_integrity services plus privacy (encryption) of stub call arguments only. All run-time and lower-layer headers are still transmitted in clear text.</font><font size="1"><font style="background-color: #ffff00"></font>       <br />&#160;&#160;&#160;&#160;&#160; AuthPadLength: 8 (0x8)       <br />&#160;&#160;&#160;&#160;&#160; AuthReserved: 0 (0x0)       <br />&#160;&#160;&#160;&#160;&#160; AuthContextId: 0 (0x0)       <br />&#160;&#160;&#160; + AuthValue: </font></p>  <p><font size="1"></font></p>  <p>If Encryption is enabled again on the servers go back to the outlook profile an re-enable &quot;<b>Encrypt data between Microsoft Office Outlook and Microsoft Exchange</b>.&quot; otherwise the client will not be able to connect again.</p>  <p><font size="1"></font></p>  <p><font size="1"></font></p>  <p><strong>additional links</strong></p>  <p><a href="https://msdn.microsoft.com/en-us/library/ee200574%28v=EXCHG.80%29.aspx">https://msdn.microsoft.com/en-us/library/ee200574%28v=EXCHG.80%29.aspx</a></p>  <p><strong>remote operation (ROP): </strong>An operation that can be invoked against a server. Each <strong>ROP</strong> represents an action, such as Delete, Send, or Query. It is encoded on the wire by a <strong>ROP</strong> number, followed by parameters that are specific to the operation. More than one <strong>ROP</strong> can be packed into a single <strong>RPC</strong> request or response.</p>  <p>&#160;</p>  <p><a title="https://msdn.microsoft.com/en-us/library/aa373553%28v=vs.85%29.aspx" href="https://msdn.microsoft.com/en-us/library/aa373553%28v=vs.85%29.aspx">https://msdn.microsoft.com/en-us/library/aa373553%28v=vs.85%29.aspx</a></p> <dl><dt>RPC_C_AUTHN_LEVEL_PKT_PRIVACY </dt></dl>  <p>Includes all previous levels, and ensures clear text data can only be seen by the sender and the receiver. In the local case, this involves using a secure channel. In the remote case, this involves encrypting the argument value of each remote procedure call.</p>]]></content:encoded>
    </item>
    <item>
      <title>Template: How to take Network traces between clients and Exchange servers.</title>
      <link>https://docs.microsoft.com/archive/blogs/kpapadak/template-how-to-take-network-traces-between-clients-and-exchange-servers</link>
      <pubDate>Mon, 31 Jan 2011 11:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Konstantin Papadakis - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/kpapadak/2011/01/31/template-how-to-take-network-traces-between-clients-and-exchange-servers/</guid>
      <description><![CDATA[&#160;  In the last couple of years we have noticed that due to the complexity of companies and...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>In the last couple of years we have noticed that due to the complexity of companies and networks support must collect more and more network traces. This is to help people collect the correct data the first time. </p>  <p>You will need a network tap device or software that can collect network traffic. There are two widely used capturing software’s: Microsoft Network Monitor (netmon) or Wireshark. </p>  <p><b>Below is an example using netmon between a windows XP/Vista/7 client and Exchange 2003/2007.</b></p>  <p>1. Depending on how exchange is setup you will need to know where the effected user’s mailbox is homed and if that server is a cluster. The client will always attempt to connect to the Active node were store is running.    <br />2. Install netmon on your client. (if not already installed)     <br /><span style="color: #c0504d; font-size: xx-small">Note: I do not give the link for downloading netmon but go to <a href="https://download.microsoft.com">https://download.microsoft.com</a></span><span style="color: #c0504d; font-size: xx-small"></span><span style="color: #c0504d; font-size: xx-small"> and search “netmon” the latest version will come up. Also download the correct version depending on if the OS is 32bit or 64bit.</span>     <br />3. Install netmon on your Exchange server. (if not already installed)     <br /><span style="color: #c0504d; font-size: xx-small">Note: if you are using ISCSI targets over Ethernet, installing a network capturing software can cause a “blip” on the wire because it’s adding a driver to the network stack. This could cause loss of disks for a second and worse case cause database corruption. If this is an issue, install netmon on your passive node first and then failover to that node. If you have JBOD or Fiber Channel this is a non-issue.      <br /></span>4. On the client be sure that outlook is closed and the process is not still running in Task Manager.     <br />5. At this point go into a command prompt <b>Start</b> &gt; <b>Run</b> type <b>CMD</b> click <b>OK.      <br /></b>6. In to command prompt you will have to navigate to the install folder netmon is installed. Type <b>cd &quot;c:\Program Files\Microsoft Network Monitor 3&quot; </b>(default install location)     <br />7. To start the network trace type <b>nmcap.exe /network * /capture /file ExchangeTrace-client.chn:100M      <br /></b><span style="color: #c0504d; font-size: xx-small">Note: This will allow netmon to collect a network trace from all adapters and save them in 100 MB sequential files. This will make it easier to upload and review.</span>     <br />8. Go to the Exchange server and do Steps 5. 6 and 7. Change the name of the file to <b>ExchangeTrace-server.chn:100M      <br /></b>9. On your client start outlook and reproduce the issue.     <br />10. Now we need to stop the network traces. In the command prompt press <b>CTRL+C</b>. Remember to do it on both client and server.     <br />11. Note the actions taken during the reproduction of the issue with time stamps. This allows the person reviewing the network traces to better understand why specific actions happened in the trace.</p>  <p>For Exchange 2010 Outlook clients connect to the Client Access Server for Mailbox requests and the Mailbox server for Public Folder requests. Also, with CASarray you will need to capture on all Client Access Servers or use a Host file record to bypass the load balancer and have a 1:1 network trace.</p>  <p><span style="text-decoration: underline"></span></p>  <p><span style="text-decoration: underline">Notes to the above content</span></p>  <p>As we saw above, the command to start a capture on all adapters and make 100MB sequential files.</p>  <p><b>nmcap.exe /Network * /Capture /CaptureProcesses /File ExchangeTrace.chn:100M</b></p>  <p>Now here is how to do the same but add a filter since maybe we know we only want traffic to and from the server and client but want to drop everything else from the trace.</p>  <p>In the below example the client IP is 10.10.50.40 and the server IP is 10.1.75.20</p>  <p><b>nmcap.exe /Network * /Capture &quot;(ipv4.Address == 10.10.50.40 and ipv4.Address == 10.1.75.20)&quot; /CaptureProcesses /File ExchangeTrace.chn:100M </b></p>  <p>If you are familiar with netmon filtering you can see what is in the parentheses is basic netmon display filtering. You can do other filters like (tcp.port == 80) but be cautious using filtering. We may filter out other requests that could help understand why the issue is happening, such as Kerberos or LDAP requests and much more.</p>  <p>For high performance network capturing on an exchange server or heave load client we can use the following command.    <br /><strong>nmcap.exe /Network * /Capture /File ExchangeTrace.chn:100M /MinDiskQuotaPercentage 10 /UseProfile 85D454AF-5EED-4d4d-8BAB-588631A33429 /DisableConversations</strong></p>  <p>This command will stop the capture if the disk we are saving our output to reaches 10% free space and uses the Pure Capture profile thus not having to parse the packets as the are recoded.</p>  <p>Also consider reading <a href="https://blogs.technet.com/b/netmon/archive/2010/06/23/avoiding-dropped-frames-with-network-monitor-3-4.aspx">Reducing Dropped Frames with Network Monitor 3.4</a></p>  <p><b>Below is how to take a network capture on an Apple client or a Linux/Unix client.(subject to change on TCPdump version)</b></p>  <p>In a terminal you can use TCPDump to collect network traffic and netmon is able to review the cap files created.</p>  <p>Apple OSX 10.5.x</p>  <p><b>Sudo tcpdump –t en0 –s 0 –C 100 –w ~/Desktop/netcap.cap</b></p>  <p>To stop tracing press <b>Control+C</b></p>  <p>Apple OSX 10.6.x</p>  <p><b>sudo tcpdump -i en0 -s 0 -B 10485760 –C 100 -w ~/Desktop/netcap.pcap      <br /></b>To stop tracing press <b>Control+C</b></p>  <p>Linux/Unix    <br /><b>tcpdump -i any -s 0 -B 10485760 –C 100 -w /home/{user}/netcap.pcap      <br /></b>To stop tracing press <b>CTRL+C</b></p>]]></content:encoded>
    </item>
  </channel>
</rss>