
tshark + máquina virtual de análisis ELK
La aplicación más reciente tshark-opensearch ya está disponible.
Puede encontrarlo en el repositorio https://github.com/h21-lab/apps-collection-info. 👉 Obtener Acceso
Este proyecto construye una máquina virtual que puede usarse para análisis de la salida tshark -T ek (ndjson). El aparato virtual se construye usando vagrant, que construye Debian con el stack ELK preinstalado y preconfigurado.
Una vez que la VM está activa, el proceso es simple:
tshark -T ek output / ndjson) se envían a través de TCP/17570 a la 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
Abra el panel principal y aumente la ventana de tiempo, por ejemplo, a los últimos 100 años para ver allí los pcaps de muestra.

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
En el proyecto se incluye una plantilla simple de mapeo de Elasticsearch generada para los protocolos frame,eth,ip,udp,tcp,dhcp.
Para manejar protocolos adicionales de manera eficiente, puede ser necesario actualizar la plantilla de mapeo de la siguiente manera:
# 1. Crear un mapeo personalizado, seleccionando los protocolos requeridos
tshark -G elastic-mapping --elastic-mapping-filter frame,eth,ip,udp,tcp,dns > ./Kibana/custom_tshark_mapping.json
# 2. Desduplicar y posprocesar el mapeo para que se ajuste a la versión actual de Elasticsearch
ruby ./Public/process_tshark_mapping_json.rb
# 3. Subir el archivo a la VM de vagrant
cd VM
vagrant upload ../Kibana/custom_tshark_mapping_deduplicated.json /home/vagrant/tsharkVM/Kibana/custom_tshark_mapping_deduplicated.json
cd ..
# 4. Conectarse a la VM y subir la plantilla en 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
Una alternativa puede ser usar el mapeo dinámico. Consulte la plantilla ./Kibana/template_tshark_mapping_dynamic.json. Y considere establecer el parámetro numeric_detection en verdadero/falso dependiendo de los requisitos de mapeo y los pcaps utilizados. Suba la plantilla a Elasticsearch de manera similar a la descrita anteriormente.
El mapeo tshark -G elastic-mapping --elastic-mapping-filter podría estar desactualizado, no sigue correctamente los cambios de Elasticsearch y la salida puede estar duplicada. Se requiere la configuración manual y el posprocesamiento de la plantilla de mapeo.
El programa se distribuye con la esperanza de que sea útil, pero SIN GARANTÍA ALGUNA.
La licencia predeterminada de los códigos fuente proporcionados dentro de este proyecto es la Apache License v2.0.
simple-NIDS está bajo la licencia AGPLv3 (Free Open Source GNU Affero GPL v3.0).
Además, consulte las licencias individuales y los términos de uso del software instalado (consulte las licencias de Wireshark, Elastic y otros).
Agradecimientos especiales a las personas que ayudaron con el desarrollo de Wireshark o contribuyeron de otra manera a este trabajo:
El pcap de ejemplo en la subcarpeta ./Traces se descargó de https://wiki.wireshark.org/SampleCaptures
Creado por Martin Kacer
Copyright 2021 H21 lab, Todos los derechos reservados, https://www.h21lab.com