Remote profling is failing due to an error "Tcp channel protocol violation: expecting preamble"

Hi There,

I am trying to remotely profile a website (IIS app) using its URL which is hosted on a Web Server within our organization (by means of NTLM authentication).

Before remote profiling attempt, I've ensured following things are fine on local & remote machines:

1) Firewalls are turned off on both computers

2) RemoteAgent is successfully registered on remote machine

3) .Net frameworks are in sync on both machine and their version is correct (v4 in this case)

4) Usergroups have sufficient rights for access (trust recognition)

5) IIS service is enabled on local machine

6) Host name and password is correct in profiling configuration

7) Remote machine is up and running fine (I'm able to browse URL on my DotTrace machine)

But DotTrace profile is unable to establish connection with remote machine due to following error(s):

"TCP Channel protocol violation: expecting preamble" and  "No connection could be made because the target machine actively refused it : IP #:port" (I'm using default port 80)

i'm novice in using this tool. pls have your say. Many thanks in advance.


Local Machine OS: Windows 7

Remote machine: Windows server 2008 R2 Standard (website(IIS 7) is hosted on

Build: dotTracePerformanceSetup.4.0.665.4

dotTrace: 4.0 Performance
Comment actions Permalink


Have you seen this small howto?
Please try to follow the steps from the howto.

WRB, Ivan Shakhov

Comment actions Permalink

Hi Ivan Shakhov,

Thanks for suggestion. Actually, I had tried those steps earlier (as in DotTrace's help content title: Profiling Remote Applications) . DotTrace's full license is activated (for all performance / memory / dotcap). I took help of our network tech support as well to check possible access rights related issue but in vain. I'm not able to conclude what is the cause. Its TCP request to http , r they compatible.

Please take a look at attached snap for more info on error.



DotTrace Error.JPG
Comment actions Permalink


Looks like you try to connect dotTrace directly to IIS, which is not the expected behaviour.
dotTrace must be connected to dotTrace agent, which is run on remote machine.

1. Have you copied 'Remote Agent' to remote machine?
2. Have you started 'Remote Agent' with  arguments /console or installed it as windows service?
Normally Remote Agent uses port 9000, not 80. Do you intensionally changed it?

WRB, Ivan Shakhov

Comment actions Permalink


Right, I think we are on same page. If I'm not mistaken, Dottrace connects to dottrace agent by providing host's IP and port number and NTLM credentials. I'm providing all these information correctly.

1. Yes, I've copied "Remote agent" to remote machine (webserver),

2. Yes, on remote machine, I've started "Remote Agent" as windows services (please check attached snap)

I checked with default port '9000' but it didn't work. So on remote machine's IIS, I verified which is my website's default port.. I found it is 80. Hence, I changed it and trying for port '80'.

Please let me know if my approach is not correct.



Remote Agent on WebServer.JPG
Comment actions Permalink

You were mistaken in setting port to 80.
dotTrace have no option to connect directly to website.
I can advise you to use passphrase mode
run cmd as Administrator and run the following comand:
dotTrace.Agent.exe /console /port=9000
Console application will start and you may find the parameters to set in the main dotTrace application (dnsName, port, passphrase)

You may change port to some other, but not 80, since it is occupied by IIS.

Second advice is - don't use IP - try to use dnsName.

Ivan Shakhov


Please sign in to leave a comment.