How to enable TDS parser to display TDS frames when SQLServer is listening on port other than default 1433

If you try to view a netmon trace in Netmon 3.4, you will see TDS traffic is nicely parsed for you. You will see a display similar to this:


The parsing works nicely because SQLServer is listening on default tcp port 1433. But, if your SQLServer is listening on a different port (other than 1433), then these TDS parsing won't work by default. You will see a display similar to this (no frames resolving to TDS):


To enable the parser to parse TDS traffic for ports other than 1433 (in this case, 63959), we need to take following steps:

1. Click on "Parsers" tab in netmon UI. This will display list of parsers installed. You will see tcp.npl, tds.npl along with several different parsers


2. Double click on tcp.npl and search for "1433", you will get into a switch/case code block saying "case 1433". We basically need to include our port 63959 here. Just add a case statement above “case 1433” without any parsing code.

case 63959:

case 1433:

//TDS-parsing code goes here


This is what it’s look like after the change:



3. Save your changes

4. Reload your netmon trace, now it should look like following. With the change, TDS parser will resolve TDS traffic on this particular non-default port (63959).


Author : Enamul(MSFT), SQL Developer Technical Lead