LinuxでBrimを使用してWiresharkワークフローを変革する
公開: 2022-01-29Wiresharkは、ネットワークトラフィックを分析するための事実上の標準です。 残念ながら、パケットキャプチャが大きくなるにつれて、それはますます遅くなります。 Brimはこの問題を非常にうまく解決し、Wiresharkのワークフローを変更します。
Wiresharkは素晴らしいですが、。 。 。
Wiresharkは素晴らしいオープンソースソフトウェアです。 これは、ネットワークの問題を調査するために、世界中のアマチュアとプロによって同様に使用されます。 有線またはネットワークのエーテルを通過するデータパケットをキャプチャします。 トラフィックをキャプチャすると、Wiresharkを使用して、データのフィルタリングと検索、ネットワークデバイス間の会話の追跡などを行うことができます。
ただし、Wiresharkと同じように、1つの問題があります。 ネットワークデータキャプチャファイル(ネットワークトレースまたはパケットキャプチャと呼ばれる)は、非常に大きく、非常に速くなる可能性があります。 これは、調査しようとしている問題が複雑または散発的である場合、またはネットワークが大規模でビジーである場合に特に当てはまります。
パケットキャプチャ(またはPCAP)が大きいほど、Wiresharkの遅延が大きくなります。 非常に大きな(1 GBを超えるもの)トレースを開いてロードするだけでも非常に時間がかかる可能性があります。Wiresharkがキールオーバーしてゴーストをあきらめたと思います。
そのサイズのファイルで作業するのは本当に苦痛です。 検索を実行したり、フィルターを変更したりするたびに、効果がデータに適用され、画面上で更新されるのを待つ必要があります。 それぞれの遅れはあなたの集中力を混乱させ、あなたの進歩を妨げる可能性があります。
つばはこれらの問題の解決策です。 これは、Wiresharkのインタラクティブなプリプロセッサおよびフロントエンドとして機能します。 Wiresharkが提供できる詳細なレベルを確認したい場合、Brimはそれらのパケットで正確にそれを即座に開きます。
多くのネットワークキャプチャとパケット分析を行う場合、Brimはワークフローに革命をもたらします。
関連: LinuxでWiresharkフィルターを使用する方法
Brimのインストール
Brimは非常に新しいため、Linuxディストリビューションのソフトウェアリポジトリにはまだ組み込まれていません。 ただし、BrimのダウンロードページにはDEBおよびRPMパッケージファイルがあるため、UbuntuまたはFedoraにインストールするのは簡単です。
別のディストリビューションを使用する場合は、GitHubからソースコードをダウンロードして、自分でアプリケーションをビルドできます。
Brimはzq
ログのコマンドラインツールであるzqを使用するため、 zq
バイナリを含むZIPファイルもダウンロードする必要があります。
UbuntuにBrimをインストールする
Ubuntuを使用している場合は、DEBパッケージファイルとzq
ファイルをダウンロードする必要があります。 ダウンロードしたDEBパッケージファイルをダブルクリックすると、Ubuntuソフトウェアアプリケーションが開きます。 Brimライセンスは、誤って「所有権」としてリストされています。これは、BSD3-Clauseライセンスを使用しています。
「インストール」をクリックします。
インストールが完了したら、 zq
ファイルをダブルクリックしてArchiveManagerアプリケーションを起動します。 ZIPファイルには単一のディレクトリが含まれます。 「アーカイブマネージャ」から「ダウンロード」ディレクトリなどのコンピュータ上の場所にドラッグアンドドロップします。
次のように入力して、 zq
バイナリの場所を作成します。
sudo mkdir / opt / zeek
抽出したディレクトリから作成した場所にバイナリをコピーする必要があります。 次のコマンドで、マシン上の抽出されたディレクトリのパスと名前を置き換えます。
sudo cp Downloads / zq-v0.20.0.linux-amd64 / * / opt / Zeek
その場所をパスに追加する必要があるため、BASHRCファイルを編集します。
sudo gedit .bashrc
geditエディターが開きます。 ファイルの一番下までスクロールして、次の行を入力します。
PATH = $ PATH:/ opt / zeekをエクスポートします
変更を保存して、エディターを閉じます。
FedoraにBrimをインストールする
FedoraにBrimをインストールするには、(DEBの代わりに)RPMパッケージファイルをダウンロードしてから、上記のUbuntuインストールで説明したのと同じ手順に従います。
興味深いことに、RPMファイルをFedoraで開くと、プロプライエタリライセンスではなく、オープンソースライセンスを持っていると正しく識別されます。
ブリムの起動
ドックで[アプリケーションの表示]をクリックするか、Super + Aを押します。 検索ボックスに「brim」と入力し、表示されたら「Brim」をクリックします。
Brimが起動し、メインウィンドウが表示されます。 「ファイルの選択」をクリックしてファイルブラウザを開くか、赤い長方形で囲まれた領域にPCAPファイルをドラッグアンドドロップします。
Brimはタブ付きディスプレイを使用しており、複数のタブを同時に開くことができます。 新しいタブを開くには、上部のプラス記号(+)をクリックしてから、別のPCAPを選択します。
つばの基本
Brimは、選択したファイルをロードしてインデックスを作成します。 インデックスは、Brimが非常に高速である理由の1つです。 メインウィンドウには、時間の経過に伴うパケットボリュームのヒストグラムと、ネットワークの「フロー」のリストが含まれています。
PCAPファイルは、非常に多くのネットワーク接続用のネットワークパケットの時系列ストリームを保持します。 さまざまな接続のデータパケットは、それらの一部が同時に開かれるため、混ざり合っています。 各ネットワークの「会話」のパケットには、他の会話のパケットが散在しています。
Wiresharkはネットワークストリームをパケットごとに表示しますが、Brimは「フロー」と呼ばれる概念を使用します。 フローは、2つのデバイス間の完全なネットワーク交換(または会話)です。 各フロータイプは、フロータイプごとに分類、色分け、およびラベル付けされています。 「dns」、「ssh」、「https」、「ssl」などのラベルが付いたフローが表示されます。
フローサマリー表示を左または右にスクロールすると、さらに多くの列が表示されます。 期間を調整して、見たい情報のサブセットを表示することもできます。 以下は、データを表示するためのいくつかの方法です。
- ヒストグラムのバーをクリックして、その中のネットワークアクティビティを拡大します。
- クリックしてドラッグし、ヒストグラム表示の範囲を強調表示してズームインします。次に、Brimは強調表示されたセクションのデータを表示します。
- 「日付」および「時刻」フィールドで正確な期間を指定することもできます。
つばは2つのサイドペインを表示できます。1つは左側に、もう1つは右側に表示されます。 これらは非表示にすることも、表示したままにすることもできます。 左側のペインには、検索履歴と、スペースと呼ばれる開いているPCAPのリストが表示されます。 Ctrl + [を押して、左側のペインのオンとオフを切り替えます。
右側のペインには、強調表示されたフローに関する詳細情報が含まれています。 Ctrl +]を押して、右ペインのオンとオフを切り替えます。
「UID相関」リストの「接続」をクリックして、強調表示されたフローの接続図を開きます。
メインウィンドウで、フローを強調表示して、Wiresharkアイコンをクリックすることもできます。 これにより、強調表示されたフローのパケットが表示された状態でWiresharkが起動します。
Wiresharkが開き、目的のパケットが表示されます。
つばでのフィルタリング
Brimでの検索とフィルタリングは柔軟で包括的ですが、必要がなければ新しいフィルタリング言語を学ぶ必要はありません。 概要ウィンドウのフィールドをクリックし、メニューからオプションを選択することにより、Brimで構文的に正しいフィルターを作成できます。
たとえば、次の画像では、「dns」フィールドを右クリックしました。 次に、コンテキストメニューから「フィルター=値」を選択します。
次に、次のことが発生します。
- テキスト
_path = "dns"
が検索バーに追加されます。 - このフィルターはPCAPファイルに適用されるため、ドメインネームサービス(DNS)フローであるフローのみが表示されます。
- フィルタテキストは、左側のペインの検索履歴にも追加されます。
同じ手法を使用して、検索語にさらに句を追加できます。 「Id.orig_h」列のIPアドレスフィールド(「192.168.1.26」を含む)を右クリックし、コンテキストメニューから「Filter = Value」を選択します。
これにより、AND句として追加の句が追加されます。 表示がフィルタリングされ、そのIPアドレス(192.168.1.26)から発信されたDNSフローが表示されるようになりました。
新しいフィルター用語が左側のペインの検索履歴に追加されます。 検索履歴リストの項目をクリックすると、検索間を移動できます。
フィルタリングされたデータのほとんどの宛先IPアドレスは81.139.56.100です。 異なるIPアドレスに送信されたDNSフローを確認するには、「Id_resp_h」列の「81.139.56.100」を右クリックし、コンテキストメニューから「Filter!= Value」を選択します。
192.168.1.26から発信された1つのDNSフローのみが81.139.56.100に送信されなかったため、フィルターを作成するために何も入力しなくても、DNSフローを特定できました。
フィルタ句の固定
「HTTP」フローを右クリックし、コンテキストメニューから「フィルター=値」を選択すると、概要ペインにHTTPフローのみが表示されます。 次に、HTTPフィルター句の横にあるピンアイコンをクリックします。
これで、HTTP句が所定の位置に固定され、使用する他のフィルターまたは検索用語は、HTTP句を前に付けて実行されます。
検索バーに「GET」と入力すると、ピン留めされた句によって既にフィルタリングされているフローに検索が制限されます。 必要な数のフィルター句を固定できます。
HTTPフローでPOSTパケットを検索するには、検索バーをクリアし、「POST」と入力して、Enterキーを押します。
横にスクロールすると、リモートホストのIDが表示されます。
すべての検索用語とフィルター用語が「履歴」リストに追加されます。 フィルタを再適用するには、それをクリックするだけです。
名前でリモートホストを検索することもできます。
検索用語の編集
何かを検索したいが、そのタイプのフローが表示されない場合は、任意のフローをクリックして、検索バーのエントリを編集できます。
たとえば、 rsync
を使用していくつかのファイルを別のコンピューターに送信したため、PCAPファイルに少なくとも1つのSSHフローが必要であることがわかっていますが、それを確認できません。
したがって、別のフローを右クリックし、コンテキストメニューから[フィルター=値]を選択してから、検索バーを編集して「dns」ではなく「ssh」と表示します。
Enterキーを押してSSHフローを検索し、1つしかないことを確認します。
Ctrl +]を押すと、このフローの詳細を示す右側のペインが開きます。 フロー中にファイルが転送された場合、MD5、SHA1、およびSHA256ハッシュが表示されます。
これらのいずれかを右クリックし、コンテキストメニューから[VirusTotal Lookup]を選択して、VirusTotal Webサイトでブラウザを開き、ハッシュを渡して確認します。
VirusTotalは、既知のマルウェアやその他の悪意のあるファイルのハッシュを保存します。 ファイルが安全かどうかわからない場合は、ファイルにアクセスできなくなった場合でも、これを簡単に確認できます。
ファイルが無害である場合は、下の画像に示す画面が表示されます。
Wiresharkの完璧な補完
Brimを使用すると、非常に大きなパケットキャプチャファイルを操作できるため、Wiresharkの操作がさらに高速かつ簡単になります。 今日それを試してみてください!