如何找出Windows中哪个程序和进程ID访问给定的IP地址?


Answers:


31

TCPView解决方案

套装软件SystemInternals将显示“所有TCP和UDP端点的详细列表您的系统上,包括TCP连接的本地和远程地址和状态。”

TCPView是一个Windows程序,它将为您显示系统上所有TCP和UDP端点的详细列表,包括本地和远程地址以及TCP连接状态。在Windows Server 2008,Vista和XP上,TCPView还会报告拥有终结点的进程的名称。TCPView提供了Windows附带的Netstat程序的信息更丰富,显示更方便。TCPView下载包括Tcpvcon,这是具有相同功能的命令行版本。

在此处输入图片说明

  • 确保您未选中“解析地址”以获取IP地址而不是域名。

    在此处输入图片说明

您可以按“远程地址”对结果进行排序,以找到您感兴趣的IP地址。

例:

  • 此屏幕快照显示了Firefox连接到stackoverflow.com。

    在此处输入图片说明


CurrPorts解决方案

CurrPortsNirsoft提供了非常相似的功能。

CurrPorts是网络监视软件,它显示本地计算机上所有当前打开的TCP / IP和UDP端口的列表。对于列表中的每个端口,还将显示有关打开该端口的进程的信息,包括进程名称,进程的完整路径,进程的版本信息(产品名称,文件描述等),时间该过程已创建,并且创建了该用户。

在此处输入图片说明

例:

  • 此屏幕快照显示了Firefox连接到stackoverflow.com。

    在此处输入图片说明


如果我想记录结果怎么办?

Nirsoft的TcpLogView也提供TCP连接的日志记录。

TcpLogView是一个简单的实用程序,它监视系统上打开的TCP连接,并在每次打开或关闭TCP连接时添加一个新的日志行。对于每个日志行,将显示以下信息:偶数时间,事件类型(打开,关闭,监听),本地地址,远程地址,远程主机名,本地端口,远程端口,进程ID,进程名称和国家/地区信息IP(需要将IP单独下载到国家/地区文件)。

在此处输入图片说明


免责声明

我不以任何方式隶属于SystemInternals(属于Microsoft的一部分)或Nirsoft,我只是其(免费)实用程序的最终用户。


恐怕不可能以这种方式捕获少量数据包,因为它正在迅速消失。我需要记录。
Dims 2015年

想象一下,我想抓住谁向谁发送数据包88.221.132.207。怎么看?该应用程序甚至没有搜索或过滤功能。也就是说,如果它迅速消失,我什至将无法用肉眼捕捉到。
2015年

1
那么您可能需要像Wireshark
DavidPostill

1
Wireshark不显示进程ID。我需要知道(1)进程(2)IP;两者都
Dims 2015年

6
@Dims也可以使用Nirsoft的TCPLogView。答案更新
DavidPostill

8

在Windows 7/8 * / 10中,您可以使用资源监视器->网络选项卡。

打开资源监视器的最简单方法是:

  • 打开任务管理器(右侧任务栏->启动任务管理器)
  • 单击性能选项卡
  • 单击资源监视器按钮

资源监视器->网络

* =未确认


2

您也可以实现此目的,而无需从管理命令外壳程序中下载其他工具。

运行管理命令外壳程序:

  • 按下开始按钮
  • 输入“ cmd”
  • 按Ctrl + Shift + Enter

输入命令:netstat -tabn

这些开关的含义如下:

  • -t显示当前连接卸载状态。
    • 即。已建立,聆听时间:TIME_WAIT
  • -a显示所有连接和侦听端口。
  • -b 显示创建每个连接或侦听端口所涉及的可执行文件。在某些情况下,众所周知的可执行文件包含多个独立的组件,在这些情况下,将显示创建连接或侦听端口所涉及的组件顺序。在这种情况下,可执行文件位于底部的[]中,顶部是其调用的组件,依此类推,直到达到TCP / IP。请注意,此选项可能很耗时,除非您拥有足够的权限,否则它将失败。
  • -n以数字形式显示地址和端口号。

诚然,这不像许多GUI选项所实现的输出那样复杂,但是它存在并且无需下载其他工具即可使用。它也可以在Linux上使用稍微不同的开关来工作。


1

正如antik所说,您可以在admin命令提示符下使用netstat。不过,我建议您使用o而不是b,这样,输出将在条目的一行上,您可以使用find进一步对其进行过滤。您将没有进程名称,但有进程ID:

例如

netstat -aon | find ":80"

显示使用端口80的所有连接(本地或远程)

然后,您可以使用Tasklist这次在Task Manager中检查该过程或在命令提示符下执行另一个过滤器:

tasklist | find "1100"

要么

tasklist /FI "PID eq 1100"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.