アーカイブ

Archive for the ‘Windows監視ツール’ Category

Windows上でのプロセス監視

Windows上のプロセス活動状況を監視するツールを探していました。

Solarisだと、trussコマンドなどがあり、よく使っていましたが、Windowsではどうなの?

ということで以下の2つのツールを評価してみました。

 

1.Process Monitor

Microsoftが出しているツールです。

次のことができます。

  • レジストリアクセス監視
  • ファイルアクセス監視
  • ネットワークアクセス監視
  • プロセス・スレッドの起動状況の監視
  • プロファイリング

インストールは、サイトからZIPファイルをダウンロードして展開するのみで、インストーラなどはありません。

ZIPファイルを展開すると、以下のようになっていました。

image

このフォルダの、Procmon.exe を実行すると、以下のようなウィンドウが出てきます。

image

キャプチャが始まった状態で起動します。

キャプチャを停止するには、Fileメニューの Capture Eventsを選択するか、Ctrl + Eを入力して、キャプチャを停止します。

再開するには、同じメニューを選択するか、Ctrl + Eを入力します。

ツールバーにフィルタがあり、これをON/OFFすることで、必要な情報を絞り込みます。

例えばレジストリアクセスについてのみ必要であれば、以下のようにします。
    レジストリ → ON
    ファイル→ OFF
    ネットワーク→ OFF
    プロセス→ OFF
    プロファイル→ OFF

レジストリアクセスについては、どのプロセスがどのレジストリーキーにアクセスしたか全てわかりますし、ファイルも、どのファイルにアクセスしたかわかります。

なかなか強力なツールだと思います。

ただ、実際に呼ばれたAPIなどはわからないため、リソースを使わず、無限ループしているようなプロセスの状況を監視するには向いていないと思います。

 

2.StraceNT

StraceNTは、LINUXなどのコマンドである、straceのWindows版です。

straceとは、System call Tracer の略みたいです。

こちらのサイトからダウンロードできます。(http://www.intellectualheaven.com/default.asp?BH=projects&H=Strace.htm)

今回は、Version 0.8 を使ってみました。

こちらもProcess Monitor同様、ZIPを展開するだけインストールです。

ZIPファイルを展開すると、以下のようになっていました。

image

このフォルダの、StraceNtX.exe を実行すると、以下のようなウィンドウが出てきます。

image

こちらは勝手にキャプチャが開始されません。

キャプチャを開始するには、Traceメニューの Attach to Processを選択するか、Ctrl + Pを入力します。

image

すると、上記ウィンドウが開きますので、アタッチしたいプロセスを選択し、Attachボタンをクリックすると、キャプチャが開始されます。

キャプチャを停止するには、Traceメニューの Stop Tracingを選択するか、Ctrl + Qを入力します。

StraceNTでは、どういうAPIがどういう引数で呼ばれ、どういう戻り値を返却したか、がわかります。

Process Monitorとは異なり、リソースにアクセスしていなくても、挙動が掴めます。

ですが、レジストリのどういうキーにアクセスしたか、などはわからないため、そういう調査であれば、Process Monitorが向いています。

 

用途に応じてこの二つを使い分ければ、たいていの問題は解決するでしょう。

といっても、先月実施したある解析作業では、これらのツールだけでは問題が解決しませんでしたが。。。

広告
カテゴリー:Windows監視ツール