
より新しいアプリケーション tshark-opensearch が利用可能になりました。
これは https://github.com/h21-lab/apps-collection-info リポジトリにあります。 👉 アクセスを取得
このプロジェクトは、tshark -T ek (ndjson) 出力の分析に使用できる仮想マシンを構築します。 仮想アプライアンスは vagrant を使用して構築され、事前インストールおよび事前設定された ELK スタックを備えた Debian を構築します。
VM が起動したら、手順は簡単です:
tshark -T ek output / ndjson) が TCP/17570 経由で VM に送信されますhttp://127.0.0.1:15601/app/kibana#/dashboards でアクセスできますgit clone https://github.com/H21lab/tsharkVM.git
sudo apt update
sudo apt install tshark virtualbox vagrant
vagrant plugin install vagrant-disksize
vagrant plugin install vagrant-scp
bash ./build.sh
# pcap を ./Trace にコピー
# pcap をアップロード(ファイル名付き)
bash upload_pcaps_with_filenames.sh
# または vagrant scp を使用して ndjson ファイルを /home/vagrant/input にコピー
# または pcap をアップロード(ファイル名なし)
bash upload_pcaps.sh
# または tshark を直接 127.0.0.1:17570/tcp に使用
tshark -r trace.pcapng -x -T ek > /dev/tcp/localhost/17570
firefox http://127.0.0.1:15601/app/kibana#/dashboards
メインダッシュボードを開き、時間ウィンドウを例えば過去100年に拡大して、サンプル pcap を表示します。

cd ./VM
vagrant ssh
cd ./VM
vagrant destroy default
cd ./VM
vagrant up
cd ./VM
vagrant halt
cd ./VM
vagrant ssh
sudo systemctl status kibana.service
sudo systemctl status elasticsearch.service
sudo systemctl status logstash.service
プロジェクトには、frame,eth,ip,udp,tcp,dhcp プロトコル用に生成されたシンプルな Elasticsearch マッピングテンプレートが含まれています。
追加のプロトコルを効率的に処理するには、次のようにマッピングテンプレートを更新する必要がある場合があります:
# 1. 必要なプロトコルを選択してカスタムマッピングを作成
tshark -G elastic-mapping --elastic-mapping-filter frame,eth,ip,udp,tcp,dns > ./Kibana/custom_tshark_mapping.json
# 2. 現在の Elasticsearch バージョンに合わせてマッピングを重複排除および後処理
ruby ./Public/process_tshark_mapping_json.rb
# 3. ファイルを vagrant VM にアップロード
cd VM
vagrant upload ../Kibana/custom_tshark_mapping_deduplicated.json /home/vagrant/tsharkVM/Kibana/custom_tshark_mapping_deduplicated.json
cd ..
# 4. VM に接続し、Elasticsearch にテンプレートをアップロード
cd VM
vagrant ssh
cd tsharkVM/Kibana
curl -X PUT "localhost:9200/_index_template/packets_template" -H 'Content-Type: application/json' -d@custom_tshark_mapping_deduplicated.json
代替方法として、動的マッピングを使用することもできます。テンプレート ./Kibana/template_tshark_mapping_dynamic.json を参照してください。また、マッピング要件と使用する pcap に応じて、numeric_detection パラメータを true/false に設定することを検討してください。上記と同様の方法で Elasticsearch にテンプレートをアップロードします。
tshark -G elastic-mapping --elastic-mapping-filter マッピングは古くなっている可能性があり、Elasticsearch の変更に適切に追従しておらず、出力が重複する可能性があります。マッピングテンプレートの手動設定と後処理が必要です。
本プログラムは、有用であることを期待して配布されていますが、無保証です。
このプロジェクト内で提供されるソースコードのデフォルトライセンスは Apache License v2.0 です。
simple-NIDS は AGPLv3 (Free Open Source GNU Affero GPL v3.0) の下でライセンスされています。
また、インストールされたソフトウェアの個別のライセンスおよび利用規約を参照してください(Wireshark、Elastic などのライセンスを参照)。
Wireshark 開発を支援したり、この作業に貢献した方々に特に感謝します:
./Traces サブフォルダのサンプル pcap は https://wiki.wireshark.org/SampleCaptures からダウンロードされました。
作成者: Martin Kacer
Copyright 2021 H21 lab, All right reserved, https://www.h21lab.com