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#/dashboardsInstructions 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.
The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…
The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…
The top command in Linux provides a real-time view of running processes and system resource usage. From…
The usermod command in Linux modifies existing user account attributes. You can use it to manage group…
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…