隔离应用程序并检查它通过互联网发送的数据包

Sal*_*ali 24 windows wireshark isolated-network

我不确定这种问题在这里是否合适,所以如果我错了,请原谅我。

这是一个问题:我想看看特定程序正在向互联网发送什么,但问题是在计算机上有很多使用互联网的应用程序和服务。因此,无法弄清楚我感兴趣的应用程序发送了哪些数据包。

一种方法是尝试关闭所有其他应用程序,但这是不可能的。

那么有没有办法隔离特定的应用程序呢?我正在使用 windows7 并使用wireshark 捕获数据包

joh*_*ohn 16

鉴于您使用的是 Wireshark,您的端口号不会自动解析为应用程序名称,因此您需要做更多的工作来优化您要查找的信息。每个使用 TCP/IP 跨网络通信的应用程序都将使用端口,以便网络堆栈知道将段传送到何处(我喜欢称其为应用程序地址)。

连接到特定端口上的服务器应用程序的客户端将从动态范围动态分配一个端口号。因此,您首先需要找出您的应用程序打开了哪些 TCP/UDP 连接:

netstat -b
Run Code Online (Sandbox Code Playgroud)

在命令行中会给你一个连接列表,其中包含创建连接的可执行文件的名称。每个可执行文件都有一个或多个列为 127.0.0.1:xxxxx 的连接,其中 X 是连接的本地端口号。

现在在wireshark中,您需要使用以下一个或多个过滤器告诉它显示源自或发往该端口的数据包:

tcp.port == xxxxx 或者 udp.port == xxxxx

or tcp.port == xxxxx为您要显示的每个连接添加一个附加项。

这将允许您查看应用程序已打开的连接的所有流量,并且 Wireshark 不仅包括原始 TCP/UDP 段,而且还将包括使用这些端口号的各种应用层协议(例如 HTTP)。

如果您的应用程序似乎只与一台服务器通信,您可以使用该服务器的 IP 地址进行过滤:

ip.addr == x.x.x.x
Run Code Online (Sandbox Code Playgroud)


lon*_*eck 7

如果您使用Microsoft 的 Process Monitor,您可以更改过滤器以仅显示来自特定进程的网络通信。它不会为您提供数据包的内容,但会显示应用程序正在与哪些主机对话。