I'm troubleshooting an application that is unable to make web requests to a known good URL from one user's Windows 7 machine. The application works fine on other users' Windows 7 PCs, and the URL can be successfully reached from a web browser (Chrome) on said user's machine. For those that care, the application fails with the following System.Net.WebException: "The underlying connection was closed: An unexpected error occurred on a send."

I suspect that the application is failing since some process (probably a third party firewall) installed on his machine is preventing outbound HTTP connections from EXEs that aren't whitelisted. (And, yes, I already tried disabling the built-in Windows firewall.) Is there a utility that I can use to monitor outbound HTTP connection attempts to see if there is a process blocking them?


You're not going to get a straight answer because;

  • It is hard to guess if there is indeed an application that kills (.NET?) HTTP requests.
  • Restrictions of this kind are applied on a system or network level and not as a user application (as you suspected).
  • There is almost certainly no utility to detect such user applications.
    • Based on the notion that no one is crazy enough to maintain such a monstrosity.

It is far more likely that the application in question is poorly coded. Review the input (try to guess what it wants) or to ask the developers for support.

Before you do any of that, try searching for the application name together with the exception. A couple of minutes worth of research (1, 2), and I'm thinking a proxy may be responsible for the issue...


To troubleshoot such problems Process Monitor comes handy. Also TCPView might help.

  • Unfortunately, ProcMon, while very handy for many other things, is not what I'm looking for here. TCPView looks to be very close, but it doesn't show the correlation between forcibly closed connections and the processes that killed them (unless I'm missing something).
    – Kiff
    Jul 17 '13 at 14:58

Try Wireshark. it's a protocol analyzer (packet sniffer) that can show you the traffic leaving and returning to your box. they have built in parsers for http, so you can filter to identify the request flows, dig into the requests themselves, and monitor the results. if your outbound flows are not appearing, then you definitely have a piece of software blocking.

  • Wireshark is like ProcMon in that it gives me everything I ever wanted to know about network traffic (as ProcMon does with processes), but I'm going to act like a spoiled brat and demand a utility that can connect the dots between the two and say, "THIS process killed THAT connection." However, running Wireshark DID prove to me that my hypothesis about what is going on is wrong since I can definitely see the app is able to connect to the web server. So in that respect it was helpful.
    – Kiff
    Jul 17 '13 at 19:13
  • there can never be such a thing, at least with common kernel designs. Jul 17 '13 at 19:48
  • I realize I am asking for the moon, and figured "that doesn't/can't exist" might be a possibility. Post this as an answer and with a corroborating vote I'll mark it accepted.
    – Kiff
    Jul 18 '13 at 15:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.