确定生成networkingstream量的过程(Windows Server 2003)

我在我们的Windows 2003域中有一个打印服务器,上面有很多打印队列。 我们看到来自这台服务器的大量SNMP扫描,我们认为这是不必要的。 与打印服务器本身相关的一切都运行良好,但networking团队希望扫描停止。

我们可以看到在交换机上发生的扫描。 我已经安装了Wireshark,并可以看到扫描发生。 我可以看到程序正在通过像CurrPorts这样的东西来监听连接。

这个服务器多年来有过几个维护者。 有残余的司机和不需要在那里的东西。 不幸的是,我不能做任何过于激烈的事情来清理或干净的安装服务器,因为它是我们的networking依赖的主要打印服务器。 我们计划在未来一两年内更换它。

所以我的问题是…

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

我强烈怀疑后台打印程序服务(spoolsv.exe)正在这样做,因为它可能被configuration为这样做。 如果没有深入的交通描述(子网范围内的探测器或针对单个打印机设备的查询),很难说。 我的直觉告诉你,如果你在“Prnters and Faxes”对话框的“Server Properties”的“Ports”选项卡中检查任何“Standard TCP / IP Port”条目的“Configure Port”属性,你会发现“ SNMP状态已启用“被选中。

如果不这样做,使用“netstat -b”或“netstat -o”是要走的路,尽pipe使用SNMP作为套接字可能会很快closures,以至于难以捕获它们。

编辑:

这是脚本。

@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 ) 

netstat -b将显示所有连接和哪个进程生成该连接。 最有可能的是打印机pipe理软件(基于家庭或企业)不断地试图查询打印机以保持它们的状态,碳粉水平等。

Microsoftnetworking监视器3.3使您能够按进程/进程ID筛选stream量。

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