确定哪些进程正在生成网络流量 (Windows Server 2003)

确定哪些进程正在生成网络流量 (Windows Server 2003)

我们的 Windows 2003 域中有一个打印服务器,上面有很多打印队列。我们发现该服务器发出了大量 SNMP 扫描,我们认为这些扫描是不必要的。与打印服务器本身相关的所有功能都运行良好,但网络团队希望停止扫描。

我们可以看到交换机上发生的扫描。我已经安装了 Wireshark,也可以看到扫描的发生。我可以看到通过 CurrPorts 等方式监听连接的程序。

多年来,该服务器有过几位维护人员。其中有残留的驱动程序和一些不需要的东西。不幸的是,我无法采取任何过于激烈的措施来清理或全新安装服务器,因为它是我们网络所依赖的主要打印服务器。我们计划在未来一两年内更换它。

所以我的问题是......

我如何才能确定 Windows 2003 服务器上的哪个程序/进程正在生成 SNMP 扫描?

答案1

我强烈怀疑打印后台处理程序服务 (spoolsv.exe) 正在执行此操作,因为它可能已配置为执行此操作。如果没有对流量(子网范围的探测或针对单个打印机设备的查询)的更深入描述,很难说。我的直觉是,如果您检查“打印机和传真”对话框的“服务器属性”的“端口”选项卡中任何“标准 TCP/IP 端口”条目的“配置端口”属性,您会发现“SNMP 状态已启用”已选中。

如果失败了,使用“netstat -b”或“netstat -o”是可行的方法,但由于 SNMP 的套接字可能会很快关闭,因此您将很难捕获它们。

编辑:

这是脚本。

@echo off
rem Query for all Standard TCP/IP Ports (skipping the first returned value, which 
rem is the "/Ports" key

FOR /f "skip=1 usebackq delims=" %%i IN (`reg query "HKLM\System\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports" ^| find "HKEY_LOCAL_MACHINE"`) DO (

  rem For each port, disable SNMP
  REG ADD "%%i" /v "SNMP Enabled" /t REG_DWORD /d 0 /f >NUL 2>NUL
)

答案2

netstat -b 将显示所有连接以及生成该连接的进程。最有可能的是,它是打印机管理软件(基于家庭或基于企业)不断尝试查询打印机以了解其状态、墨粉量等。

答案3

Microsoft Network Monitor 3.3 使您能够按进程/进程 ID 过滤流量。

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=983b941d-06cb-4658-b7f6-3088333d062f

您还可以使用TCPView:

http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

打印服务器可能安装了 HP JetAdmin 或 WebJetAdmin。但正常运行时不需要安装该程序。

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01718860

相关内容