【发布时间】:2017-08-01 05:54:42
【问题描述】:
我正在寻找这个问题的编程解决方案,可以是win32 api,或者其他解决方案。
我有一个在 Windows 上运行的进程,我有它的 PID。
我想知道它在做什么样的多播流量,包括接收和发送。
我从网上搜索了一下,发现:
-
wireshark,帮不了我,因为它不能做特定流程的过滤器 -
netstat,帮不了我,因为它无法显示多播组,我做了netstat -aon -
network monitor,帮不了我,当流量是多播时它无法显示进程名称
Process monitor 是一个几乎可以做我想做的应用程序,但问题是它会输出一个非常大的日志文件,我必须解析那个文件才能找到我想要的。
【问题讨论】:
-
Process Monitor 允许您应用任意一组过滤器,因此输出正是您要查找的内容。
-
问题是当我将事件捕获到文件时,没有可以使用的过滤器。另外,它只能将文件保存为其默认文件类型,我必须使用它来转换回
.csv文件/。\ -
有一个选项可以只捕获过滤器定义的输出。菜单“过滤器”>“删除过滤事件”。您可以使用以下命令行转换为 CSV:
procmon.exe /SaveAs <path>。输入procmon.exe /?以查看所有参数。 -
我已经在使用
Drop Filtered Events,但是还有太多的事件/.\。procmon.exe /SaveAs <path>我以前试过。这是无效的,只能与/OpenLog一起使用,这意味着我必须先写入日志文件然后将其转换为csv>。 -
顺便说一句,你知道进程监视器是如何获取进程运行信息的吗?如果我可以通过windows api做到这一点,那么问题可能会解决@@“