tsharkVM, this project builds virtual machine which can be used for analytics of tshark -T ek (ndjson) output. The virtual appliance is built using vagrant, which builds Debian 10 with pre-installed and pre-configured ELK stack.
After the VM is up, the process is simple:
tshark -T ek output
/ ndjson) are sent over TCP/17570
to the VMhttp://127.0.0.1:15601/app/kibana#/dashboards
Instructions To Build VM From Ubuntu Desktop
Clone source code
git clone https://github.com/H21lab/tsharkVM.git
Build tshark VM
sudo apt update
sudo apt install tshark virtualbox vagrant
bash ./build.sh
Upload pcaps to VM
#copy your pcaps into ./Trace
#run following script
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
Open Kibana with browser
firefox http://127.0.0.1:15601/app/kibana#/dashboards
Open Main Dashboard and increase time window to e.g. last 100 years to see there the sample pcaps.
SSH to VM
cd ./VM
vagrant ssh
Delete VM
cd ./VM
vagrant destroy default
Start VM
cd ./VM
vagrant up
Stop VM
cd ./VM
vagrant halt
SSH into VM and check if ELK is running correctly
cd ./VM
vagrant ssh
sudo systemctl status kibana.service
sudo systemctl status elasticsearch.service
sudo systemctl status logstash.service
Elasticsearch Mapping Template
In the project is included simple Elasticseacrh mapping template generated for the frame,eth,ip,udp,tcp,dhcp
protocols. To handle additional protocols efficiently it can be required to update the mapping template in the following way:
Alternative can be using the dynamic mapping. See template ./Kibana/template_tshark_mapping_dynamic.json
. And consider setting the numeric_detection parameter true/false depending on the mapping requirements and pcaps used. Upload the template into Elasticsearch in similar way as described above.
tshark -G elastic-mapping –elastic-mapping-filter mapping could be outdated, it is not following properly the Elasticsearch changes and the output can be duplicated. The manual configuration and post-processing of the mapping template is required.
Program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…
While file extensions in Linux are optional and often misleading, the file command helps decode what a…
The touch command is one of the quickest ways to create new empty files or update timestamps…
Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…
Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…
Creating directories is one of the earliest skills you'll use on a Linux system. The mkdir (make…