如何分析哪些进程正在创建(短期)本地网络连接到我的服务?

时间:2013-09-06 11:34:37

标签: c# windows visual-studio-2010 wcf sockets

是否有Windows(7)工具可以跟踪哪些进程在同一台计算机上创建与我的服务的本地网络连接?

几个星期以来,我看到创建了大量的套接字,立即(或至少非常快)获得状态TIME_WAIT。这种情况并非总是发生,但是经常无法找到模式。我正在使用netstat -a -b -n -o来查找有关这些套接字的信息,但唯一告诉我的是终点(这是我的服务),状态(总是TIME_WAIT)以及拥有进程是进程0,所以不是很有用。

当然有其他方法可以分析这个问题,但是有一个工具可以精确定位创建大量套接字的确切过程,这将缩小我的搜索范围。

更多背景信息:我的服务是连接到SQL Server Express 2008 R2的ECO WCF服务。在Visual Studio的WebDev.WebServer40.EXE中有四个本地运行的网站,所有这些网站都将在某个时间使用该服务。 首先我怀疑Visual Studio 2010或我的Windows 7设置中存在错误/有点腐烂,所以我进行了全新安装,但问题仍然存在。 回到以前版本的服务和应用程序并不能解决问题。

1 个答案:

答案 0 :(得分:1)

您可以随时查看名为Process Monitor的非常方便的工具。它由Mark Russinovich开发,现在是Microsoft工具集的一部分。

它允许您监视许多事件,包括线程创建,注册表访问,文件访问和网络活动。所有这些事件都基于每个进程,因此您应该能够使用过滤器来查看连接到特定端口本地端口的进程。我不确定这是否包括UDP(通常是无连接的),但肯定是快速测试显示TCP连接,断开连接,发送和接收事件。

无论如何,这是一个非常方便的工具,可以添加到您的编程工具箱中。