
tshark + ELK آلة افتراضية للتحليلات
التطبيق الأحدث tshark-opensearch متوفر الآن.
يمكنك العثور عليه في مستودع https://github.com/h21-lab/apps-collection-info. 👉 احصل على الوصول
يبني هذا المشروع آلة افتراضية يمكن استخدامها لتحليل مخرجات tshark -T ek (ndjson). يتم بناء الجهاز الظاهري باستخدام vagrant، الذي يبني دبيان مع حزمة ELK مثبتة ومهيأة مسبقًا.
بعد تشغيل VM، تكون العملية بسيطة:
tshark -T ek output / ndjson) عبر TCP/17570 إلى VMhttp://127.0.0.1:15601/app/kibana#/dashboardsgit 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
# copy your pcaps into ./Trace
# upload the pcaps (with filenames)
bash upload_pcaps_with_filenames.sh
# or use vagrant scp to copy the ndjson files into /home/vagrant/input
# or upload the pcaps (without filenames)
bash upload_pcaps.sh
# or use tshark directly towards 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 عام لرؤية عينات pcaps هناك.

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
في المشروع يتم تضمين قالب تعيين بسيط لـ Elasticsearch تم إنشاؤه لبروتوكولات frame,eth,ip,udp,tcp,dhcp.
للتعامل مع بروتوكولات إضافية بكفاءة، قد يكون من الضروري تحديث قالب التعيين بالطريقة التالية:
# 1. Create custom mapping, by selecting required protocols
tshark -G elastic-mapping --elastic-mapping-filter frame,eth,ip,udp,tcp,dns > ./Kibana/custom_tshark_mapping.json
# 2. Deduplicate and post-process the mapping to fit current Elasticsearch version
ruby ./Public/process_tshark_mapping_json.rb
# 3. Upload file to vagrant VM
cd VM
vagrant upload ../Kibana/custom_tshark_mapping_deduplicated.json /home/vagrant/tsharkVM/Kibana/custom_tshark_mapping_deduplicated.json
cd ..
# 4. Connect to VM and upload template in the 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. وانظر في ضبط معلمة numeric_detection على true/false وفقًا لمتطلبات التعيين وملفات pcap المستخدمة. قم بتحميل القالب إلى 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 أو ساهموا بطريقة أخرى في هذا العمل:
تم تنزيل مثال pcap في المجلد الفرعي ./Traces من https://wiki.wireshark.org/SampleCaptures
تم الإنشاء بواسطة Martin Kacer
حقوق النشر 2021 H21 lab، جميع الحقوق محفوظة، https://www.h21lab.com