这里有很多答案详细介绍了监控和记录电脑互联网使用情况的程序,但我需要记录和分解该使用情况,详细说明哪些应用程序使用了这些数据。
我注意到有几个可以实时提供每个应用程序的数据使用情况(NetLimiter,Win7 Resource Monitor),但我找不到一个可以记录此类数据的。
有人知道吗?需要追踪哪个程序占用了朋友的带宽!
答案1
答案2
如果你找不到任何让你满意的应用程序,一个重量级的(但当你解决它时非常令人满意的)解决方案是使用以下方法进行一些网络监控:Microsoft 网络监视器(现在为 v3.4)它能让您按照自己想要的方式对事物进行切片和切块吗?
不过,它不会给你你想要的确切信息(每个应用程序级别的日志),但它将要如果您富有创造力的话,可以让您对数据进行切分以获取信息。
(了解你的数据的去向也很有趣...)
介绍:Microsoft Network Monitor 3.4
我现在只是在输入这个答案时执行捕获,并添加一些变化 - 检查 Windows 更新,并运行 IE 来获取一些文件 - 但正如您从此处的屏幕截图中看到的那样: 我承认,一开始可能会有点不知所措,但我主要想吸引您的眼球到左侧框,它将向您显示它捕获的所有生成网络流量的过程。打开应用程序会将其分解为对话,您可以进一步了解。快速播放可能比我浪费大量文字解释更好,但简而言之 - 它将记录它所能记录的每一点网络流量 - 这就是中间窗格中显示的内容。
过滤掉所有一切,这样你就不会发疯……
您可以对捕获的数据应用过滤器,以缩小您正在查看的内容,比如说,删除某些 IP 地址、协议,甚至特定进程(或者如果您愿意,甚至是对话...)。
过滤语言在帮助中有记录,并且它有一些不错的现成示例,但您无需下载软件包就可以看到一些示例:
Conversation.ProcessName == "iexplore.exe" // restrict your examination to iexplore.exe
(Conversation.ProcessName == "firefox.exe" and Conversation.ProcessId == 3824) // only look at firefox process 3824
IPv4.Address == 64.34.119.12 // traffic in both directions to superuser.com
IPv4.SourceAddress == 64.34.119.12 // traffic coming from superuser.com
...并将其聚合为一些更易读的内容(NMTopUsers)
是的。这样您就可以过滤回某个目标群体,但除非您特别自虐并且喜欢阅读框架标题,否则您需要获得 NMTopUsers 专家
该专家会处理您输入的任何数据,在数据经过过滤之后(因此,您需要打开一个捕获文件,应用过滤器来隔离 firefox.exe,然后调用该专家),然后为您提供类似如下的输出:
如果您已经安装了相关软件包(我没有在这台机器上安装),那么您还可以获得图表,并且输出将允许您按目的地目测您的流量去往何处(以及来自哪里),同时还提供标题数字,这些数字将以迂回的方式告诉您您正在寻找的内容。
可能有人开发了一款专家来做你想要做的事情,但我不知道有哪一款,抱歉。我愿意开发一款,但我有点生疏了 :P
无论如何,使用这个,如果你想玩一玩,你可以使用 perfmon 对你的接口进行一些基本日志记录来解决你的‘到底是什么占用了我的带宽’问题(这可以帮助你隔离事情发生的时间或是否是一个持续的基本负载问题)并且并行(或事件发生后)设置一个网络监视器跟踪来捕获你感兴趣的数据(你越能集中捕获越好,因为如果你长时间这样做,你最终会得到大量的捕获文件)。
一旦你得到了所有这些,你可以运行 NMTopUsers 并深入查看哪些是特别耗资源的应用程序,以及它们以某种方式去往何处,以及它是 HTTP 还是其他什么东西。
答案3
也许 MS Sysinternals 的 TCP View 会帮到你。链接如下 http://technet.microsoft.com/en-us/sysinternals/bb897437