网络监视器:捕获和分析Windows上的网络流量

Microsoft网络监视器((Netmon)是用于窗口的经典网络诊断工具,用于捕获和分析计算机上的所有传入和传出流量。即使该产品已经开发或更新了3年以上,但管理员需要诊断网络连接时经常使用它。 Netmon提供的功能少于流行的捕获和分析工具Wireshark,并且在复杂的数据包分析任务方面的功能不佳。但是,Network Monitor的图形接口更简单,更直观,产品本身很轻。因此,在某些情况下,其使用是合理的和实用的。

本文展示了如何使用网络监视器实时捕获和分析网络流量并转储流量以进行以后分析。

我们的订户提出了本文的想法,他的订户收到了他的提供商的警告,该警告说他的Windows VPS服务器被用于大众电子邮件邮件。由于邮件在不同的时间进行,因此无法实时跟踪哪个过程启动SMTP会话。要找到来源,我们需要捕获标准SMTP端口上的所有传出流量25,,,,587, 和465,并确定正在执行邮件的过程或脚本。

下载Microsoft网络监视器3.4来自Microsoft网站的Installer(NM34_X64.EXE)或使用Winget软件包管理器安装它:

winget install Microsoft.NetMon

安装完成后,将网络监视器作为管理员运行。在Netmon窗口中,单击新捕获

默认情况下,网络监视器收集了通过计算机网络接口的所有流量。如果您长期捕获网络流量,那么这种网络转储的大小可能会很大。在我们的情况下,我们可以将过滤器设置为仅在一个已知的SMTP端口之一上捕获传出网络数据包。

单击捕获设置按钮。在这里,您可以配置过滤器,以描述网络应捕获的交通。有几个用于典型任务的过滤模板负载过滤器- >标准过滤器菜单。在我们的情况下,我们需要一个TCP端口号过滤器。选择TCP- >TCP端口

建议阅读:如何配置Windows防火墙记录和分析日志

以下模板代码插入过滤器编辑器窗口:

tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80

编辑模板规则并添加所有三个默认SMTP端口号:

(tcp.port == 25 OR Payloadheader.LowerProtocol.port == 25 OR
tcp.port == 587 OR Payloadheader.LowerProtocol.port == 587 OR
tcp.port == 465 OR Payloadheader.LowerProtocol.port == 465)

如果您的计算机具有多个网络接口,或者是否有其他IP地址(别名)分配给适配器,则可以通过源IP地址添加过滤器:

AND
(IPv4.SourceAddress == 192.168.18.111)

网络监视器过滤器可以使用括号和OR/AND/NOT逻辑表达式,或者您可以使用||,,,,&&, 或者!反而。

单击申请按钮保存过滤器。

然后去工具- >选项- >解析器概况。选择视窗在默认解析器配置文件中(设置为活动)。

您现在准备开始捕获网络流量。单击开始工具栏上的按钮。

现在,您需要重现问题,或者如果它随机发生,只需让Netmon持续一天/周。

请注意,根据捕获过滤器的设置,很长一段时间内倾倒网络流量将需要大量的RAM和磁盘空间。

在我们的情况下,一段时间后,与所应用的过滤器相对应的事件出现在NetMon数据包日志中。如果打开数据包的内容,您会发现尝试了SMTP连接。在网络框架内,您将看到SMTP协议的详细命令,身份验证尝试,目标SMTP服务器的地址以及发送消息的电子邮件地址(telnet中SMTP命令的示例以通过身份验证发送电子邮件)。

过程名称字段显示启动网络(SMTP)连接的过程的名称。在这种情况下,很明显,SMTP邮件是从blat.exe控制台工具。

网络转储还包含有关我的信息powershell.exe会议。这用于检查外部服务器上端口25的可用性:

Test-NetConnection smtp.corpmail.com -port 25

单击停止按钮停止捕获网络流量。

由此产生的流量转储可以保存为*。帽申请离线分析。

您可以通过IP或MAC目标/源地址,不同协议,端口和特殊过滤器添加其他过滤器,以分析某些流行协议(SMB,HTTP,DNS)的流量。可以将过滤器应用于捕获的流量或仅过滤当前会话中的显示数据(显示过滤器窗户)。

例如,如果要过滤网络帧,则可以单击数据包列表中的任何值,然后选择添加[某物]以显示过滤器

在屏幕截图中,我通过目标IP地址添加了过滤规则。以下代码已添加到过滤器提示中:

Destination == "ip_adress"

以下是常用网络监视器过滤器的一些示例。

通过目标IP地址过滤:

IPv4.SourceAddress == 192.168.0.1

源或目的地IP过滤:

IPv4.Address == 192.168.0.1

通过TCP端口号过滤:

tcp.port == 443
OR
Payloadheader.LowerProtocol.port == 443

可以指定端口范围:

(udp.Port>=10000 && udp.port<=19999)

在本文中,我们研究了如何使用Microsoft Network Monitor捕获和分析Windows中的网络流量。您也可以使用内置PktMonWindows中的控制台命令要转储流量,而无需在每个计算机上安装网络监视器。可以在安装Netmon或Wireshark的任何计算机上进一步分析使用此类命令行工具的转储。