Windows 2003ドメインに、多数の印刷キューを備えたプリントサーバーがあります。このサーバーから大量のSNMPスキャンが送信されていますが、これは不要だと思われます。プリントサーバー自体に関連するものはすべて正常に機能していますが、ネットワークチームはスキャンを停止したいと考えています。
スイッチで発生するスキャンを確認できます。 Wiresharkをインストールしましたが、スキャンも実行されていることがわかります。 CurrPortsなどを介して接続をリッスンしているプログラムを見ることができます。
このサーバーには、何年にもわたって数人のメンテナがいます。残りのドライバーとそこにいる必要のないものがあります。残念ながら、サーバーはネットワークが依存しているプライマリプリントサーバーであるため、サーバーをクリーンアップしたりクリーンインストールしたりするために思い切った操作を行うことはできません。来年から2年以内に交換する予定です。
だから私の質問は...
Windows 2003サーバー上のどのプログラム/プロセスがSNMPスキャンを生成しているかを特定するにはどうすればよいですか?
Print Spoolerサービス(spoolsv.exe)がこれを実行しているのではないかと強く疑っています。これは、おそらくそうするように構成されているためです。トラフィック(サブネット全体のプローブ、または個々のプリンタデバイスに向けられたクエリ)の詳細な説明がないと、言うのは難しいです。 「PrntersandFaxes」ダイアログの「ServerProperties」の「Ports」タブにある「StandardTCP/IPPort」エントリの「ConfigurePort」プロパティを調べると、「 [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
)
netstat -bは、すべての接続と、その接続を生成したプロセスを表示します。ほとんどの場合、プリンタのステータスやトナーレベルなどを保持するために常にプリンタにクエリを実行しようとしているのは、プリンタ管理ソフトウェア(ホームベースまたはエンタープライズベース)です。
Microsoft Network Monitor 3.3を使用すると、プロセス/プロセスIDでトラフィックをフィルタリングできます。
TCPViewを使用することもできます。
http://technet.Microsoft.com/en-us/sysinternals/bb897437.aspx
プリントサーバーには、HPJetAdminまたはWebJetAdminがインストールされている場合があります。これは通常の操作には必要ありません。
http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c0171886