![TCPView では、svchost.exe プロセスが多数の TCP ポートと UDP ポートをリッスンする必要があるのはなぜですか。](https://rvso.com/image/1316122/TCPView%20%E3%81%A7%E3%81%AF%E3%80%81svchost.exe%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8C%E5%A4%9A%E6%95%B0%E3%81%AE%20TCP%20%E3%83%9D%E3%83%BC%E3%83%88%E3%81%A8%20UDP%20%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E3%83%AA%E3%83%83%E3%82%B9%E3%83%B3%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%E3%80%82.png)
見つめているTCPビューTCP ポートと UDP ポートを使用している svchost プロセスが 25 個以上あるのがわかります。これらの svchost プロセスが Windows に必要なさまざまなサービスである場合、なぜこれほど多くのプロセスがネットワークを使用するのでしょうか?
答え1
によるとウィキペディア:
Windows NT ファミリのオペレーティング システムでは、svchost.exe (サービス ホスト、または SvcHost) は、複数の Windows サービスをホストするシステム プロセスです。その実行可能イメージである %SystemRoot%\System32\Svchost.exe または %SystemRoot%\SysWOW64\Svchost.exe (64 ビット システムで実行される 32 ビット サービスの場合) は、複数のインスタンスで実行され、それぞれが 1 つ以上のサービスをホストします。これは、リソースの消費量を削減するために複数のサービスが 1 つのプロセスを共有できる、いわゆる共有サービス プロセスの実装に不可欠です。
そのため、svhost.exe上で多くのWindowsプロセスが実行されると考えられます。その多くはTCP/IPポート(ソケット)を使用してプロセス間通信localhost 経由です。そのため、svhost.exe 経由で大量のネットワーク トラフィックが発生します。
さらに、svhost 上で実行されている Windows サービスを見つけます。コンピューターで「tasklist /svc」コマンドを実行すると、svhost と実行中の Windows サービス間の依存関係が返されました。