NwConsoleの強力なコマンドの1つは、sdk content
です。このコマンドには、少なくともNetWitness Suite Coreスタックからコンテンツを抽出することに関する限り、すべてのことを実行できる多数のオプションが含まれています。このコマンドを使用して、ネットワーク セッションからPCAPファイル、ログ ファイル、抽出ファイルを作成できます(たとえば、メール セッションからすべての画像を取得できます)。また、ファイルを追加したり、新しいファイルを作成する前に最大サイズを割り当てたり、ディレクトリが大きくなりすぎるとファイルを自動的にクリーンアップしたりできます。バックグラウンドでクエリを実行して、新しいセッションを検出できます。クエリを管理しやすいグループに分割し、それらのオペレーションを自動的に実行します。グループが一杯になると、再クエリを実行して、以降のオペレーションのために新しいデータ セットを取得します。sdk contentコマンドのオプションのリストは非常に広範です。
コマンドには非常に多くのオプションがあるため、このドキュメントでは、いくつかの使用例を示します。
sdk content
を実行する前に、最初に実行する必要のあるいくつかのコマンド(サービスへのログインなど)があります。一部の例を次に示します。
- まず、サービスに接続します。
sdk open nw://admin:netwitness@10.10.25.50:50005
- SSL経由で接続する必要がある場合、nwsプロトコルを使用します。
sdk open nws://admin:netwitness@10.10.25.50:56005
- URLを指定する場合は、適切にURLエンコードを行う必要があります。たとえば、パスワードが
p@ssword
の場合、URLは次のように指定します:sdk open nw://admin:p%40ssword@10.10.25.50:50005
これは、ユーザ名にも適用されます。 - ログインした後、コマンドの出力ディレクトリを設定できます:
sdk output <some pathname>
- コマンド ラインのヘルプを表示するには、
と入力します。sdk content
コマンドの例を試行する前に、sessions
パラメータについて理解する必要があります。このパラメータは非常に重要であり、取得するデータの量を制御します(Where句も重要です)。sessionsパラメータは、1つのセッションIDまたはセッションIDの範囲のいずれかです。すべてのNetWitness Suiteコア サービスは、1から始まり、サービスに追加された新しいセッション(ネットワーク セッションまたはログ セッション)ごとに1ずつ増加するセッションIDを使用します。セッションIDは64ビットの整数であるため、非常に大きくなる可能性があります。シンプルにするために、1,000個のログを取得して解析するLog Decoderがあると想定します。サービスには現在、1~1000のセッションID(セッションID 0は無効です)を持つ1,000個のセッションがあります。1,000個のセッションすべてを操作する場合は、sessions=1-1000を渡します。最後の100個のセッションのみを操作する場合は、sessions=901-1000を渡します。コマンドがセッション1000の処理を完了すると、終了してコンソール プロンプトに戻ります。
多くの場合、セッションの特定の範囲は重要ではありません。すべてのセッションに対してクエリを実行し、クエリに一致するセッションを処理する必要があるだけです。処理をシンプルにするいくつかのショートカットを次に示します。
- 文字
l
(小文字のL)は、下限または最小のセッションIDを意味します。 - 文字
u
は、最大セッションIDを意味します。実際には、将来のセッションの最大セッションIDに対しても、この文字が使用されます。言い換えると、sessions=l-u
を渡した場合、この特別な範囲は、システムの現在のすべてのセッションが処理されることを意味しますが、処理は停止せず、システムに新しいセッションが追加されると、これらのセッションも処理されます。コマンドがサービスの最後のセッションに到達すると、コマンドは一時停止し、新しいセッションを待機します。要約すると、コマンドは終了することなく、継続した処理モードに入ります。コマンドは強制終了されない限り、動作し続けます。 - コマンドを無期限に実行しない場合は、上限に対して
now
を渡します。これにより、コマンドを開始したときのサービスの最後のセッションIDが判別され、その最後のセッションIDに到達するまで、すべてのセッションが処理されます。コマンドが最後のセッションIDに到達すると、コマンドを開始してからサービスに追加されたセッションの数に関係なく、コマンドは終了します。したがって、Log Decoderの例の場合、sessions=200-now
により、セッション200の処理が開始され、セッション1000まで処理が到達すると、処理が終了します。コマンドを開始した後、Log Decoderに1,000個のログが追加された場合でも、コマンドは、セッション1000を処理した後、終了します。 - パラメータ
sessions=now-u
は、最後のセッションから開始し、追加される新しいすべてのセッションの処理を続けることを意味します。このパラメータは、既存のセッション(最後のセッションを除く)を処理せずに、新しいセッションのみを処理します。
コマンドの例とコマンドの機能については、man sdk content examples
と入力するか、「SDK Contentコマンドの例」を参照してください。