![获取访问特定IP的进程名称](https://linux22.com/image/672126/%E8%8E%B7%E5%8F%96%E8%AE%BF%E9%97%AE%E7%89%B9%E5%AE%9AIP%E7%9A%84%E8%BF%9B%E7%A8%8B%E5%90%8D%E7%A7%B0.png)
我需要获取尝试访问外部 IP 的进程名称。这些进程可能是恶意软件或更新,它们的寿命很短,因此无法使用 netstat 或资源监视器。我尝试过 MS Message Analyzer,但结果很糟糕(列出的空闲进程最多)。还有其他工具或程序可以尝试吗?
我关注了文章配置消息分析器。
这是 netmon 的输出:
- 所有交通
- 我的流量
- 不可用 (3020)
- 不可用 (1788)
- 任务主机.exe (704)
- 不可用 (600) +
- 不可用 (3048)
- 不可用 (360)
- IPv4(xx.xx.xx.xx - 23.0.174.16)ConvID = 162
- IPv4(xx.xx.xx.xx - 23.0.174.8)ConvID = 166
- IPv4(xx.xx.xx.xx - 23.0.174.19)ConvID = 171
- IPv4(xx.xx.xx.xx - 23.0.174.27)ConvID = 175
- IPv4(xx.xx.xx.xx - 23.0.174.35)ConvID = 181
- IPv4(xx.xx.xx.xx - 5.22.191.202)ConvID = 195
- IPv4(xx.xx.xx.xx - 5.22.191.201)ConvID = 199
- IPv4(xx.xx.xx.xx - 5.22.191.233)ConvID = 203
- IPv4(xx.xx.xx.xx - 5.22.191.227)ConvID = 207
- IPv4(xx.xx.xx.xx - 5.22.191.217)ConvID = 211
- IPv4(xx.xx.xx.xx - 193.77.14.137)ConvID = 232
- IPv4(xx.xx.xx.xx - 193.77.14.171)ConvID = 236
我在资源监视器中没有看到这个。这些 IP 很奇怪,我在监视期间没有浏览服务器。
答案1
您可以使用进程监视器 (procmon) 来实现此目的。下载链接:https://technet.microsoft.com/en-gb/sysinternals/bb896645
打开后,设置一些仅用于网络的过滤器。如果您有多个网络接口,您可以使用这些:
Operation | is | TCP Send | then Include
Operation | is | UDP Send | then Include
Path | contains | 127.0.0.1 | then Exclude
(我假设您不关心访问环回地址)
如果您只有一个网络接口,或者只有一个您关心的网络接口,则可以将过滤器设置为:
Path | begins with | x.x.x.x | then include
其中 xxxx 是本地接口的 IP 地址。
您可以从这里进一步过滤它,方法是排除已知的良好进程,或排除 DNS 请求数据包/ack/等。您可以让它运行任意长的时间,但要注意内存使用情况。默认情况下,它将在循环中保留 1.99 亿个事件,您可能需要将其调高或调低。最后,您可以手动浏览列表,或转到“工具”->“网络摘要”并按单个 IP 地址进行过滤。