
tshark + ELK Analyse virtuelle Maschine
Eine neuere Anwendung tshark-opensearch ist jetzt verfügbar.
Sie finden sie im Repository https://github.com/h21-lab/apps-collection-info. 👉 Zugriff erhalten
Dieses Projekt erstellt eine virtuelle Maschine, die für die Analyse von tshark -T ek (ndjson)-Ausgaben verwendet werden kann. Die virtuelle Appliance wird mit Vagrant erstellt, das ein Debian mit vorinstalliertem und vorkonfiguriertem ELK-Stack bereitstellt.
Nachdem die VM gestartet ist, ist der Prozess einfach:
tshark -T ek output / ndjson) werden über TCP/17570 an die VM gesendethttp://127.0.0.1:15601/app/kibana#/dashboards aufgerufen werdengit 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
Öffnen Sie das Haupt-Dashboard und erhöhen Sie das Zeitfenster z.B. auf die letzten 100 Jahre, um dort die Beispiel-PCAPs zu sehen.

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
Im Projekt ist ein einfaches Elasticsearch-Mapping-Template enthalten, das für die Protokolle frame,eth,ip,udp,tcp,dhcp generiert wurde.
Um zusätzliche Protokolle effizient zu verarbeiten, kann es erforderlich sein, das Mapping-Template wie folgt zu aktualisieren:
# 1. Benutzerdefiniertes Mapping erstellen, indem die erforderlichen Protokolle ausgewählt werden
tshark -G elastic-mapping --elastic-mapping-filter frame,eth,ip,udp,tcp,dns > ./Kibana/custom_tshark_mapping.json
# 2. Deduplizieren und Nachbearbeiten des Mappings, um es an die aktuelle Elasticsearch-Version anzupassen
ruby ./Public/process_tshark_mapping_json.rb
# 3. Datei auf die Vagrant-VM hochladen
cd VM
vagrant upload ../Kibana/custom_tshark_mapping_deduplicated.json /home/vagrant/tsharkVM/Kibana/custom_tshark_mapping_deduplicated.json
cd ..
# 4. Mit der VM verbinden und Template in Elasticsearch hochladen
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
Alternativ kann das dynamische Mapping verwendet werden. Siehe Vorlage ./Kibana/template_tshark_mapping_dynamic.json. Und erwägen Sie, den Parameter numeric_detection auf true/false zu setzen, je nach Mapping-Anforderungen und verwendeten PCAPs. Laden Sie die Vorlage auf ähnliche Weise wie oben beschrieben in Elasticsearch hoch.
Das Mapping von tshark -G elastic-mapping --elastic-mapping-filter könnte veraltet sein, da es die Elasticsearch-Änderungen nicht richtig verfolgt und die Ausgabe dupliziert sein kann. Die manuelle Konfiguration und Nachbearbeitung des Mapping-Templates ist erforderlich.
Das Programm wird in der Hoffnung verteilt, dass es nützlich ist, jedoch OHNE JEGLICHE GEWÄHRLEISTUNG.
Die Standardlizenz der in diesem Projekt bereitgestellten Quellcodes ist die Apache License v2.0.
simple-NIDS ist unter der AGPLv3 (Free Open Source GNU Affero GPL v3.0) lizenziert.
Beachten Sie zudem die einzelnen Lizenzen und Nutzungsbedingungen der installierten Software (siehe Lizenzen für Wireshark, Elastic und andere).
Besonderer Dank an die Personen, die bei der Wireshark-Entwicklung geholfen oder anderweitig zu dieser Arbeit beigetragen haben:
Die Beispiel-PCAP im Unterordner ./Traces wurde von https://wiki.wireshark.org/SampleCaptures heruntergeladen
Erstellt von Martin Kacer
Copyright 2021 H21 lab, Alle Rechte vorbehalten, https://www.h21lab.com