Skip to main content

Turbinia

Unit tests e2e tests

Summary

Turbinia is an open-source framework for deploying, managing, and running distributed forensic workloads. It is intended to automate running of common forensic processing tools (i.e. Plaso, TSK, strings, etc) to help with processing evidence in the Cloud, scaling the processing of large amounts of evidence, and decreasing response time by parallelizing processing where possible.

How it works

Turbinia is composed of different components for the client, server and the workers. These components can be run in the Cloud, on local machines, or as a hybrid of both. The Turbinia client makes requests to process evidence to the Turbinia server. The Turbinia server creates logical jobs from these incoming user requests, which creates and schedules forensic processing tasks to be run by the workers. The evidence to be processed will be split up by the jobs when possible, and many tasks can be created in order to process the evidence in parallel. One or more workers run continuously to process tasks from the server. Any new evidence created or discovered by the tasks will be fed back into Turbinia for further processing.

Communication from the client to the server is currently done with Kombu messaging. The worker implementation uses Celery for task scheduling.

The main documentation for Turbinia can be found here. You can also find out more about the architecture and how it works here.

Status

Turbinia is currently in Alpha release.

Installation

There is an installation guide here.

Usage

The basic steps to get things running after the initial installation and configuration are:

  • Start Turbinia server component with turbiniactl server command
  • Start Turbinia API server component with turbiniactl api_server command if using Celery
  • Start one or more Turbinia workers with turbiniactl celeryworker
  • Install turbinia-client via pip install turbinia-client
  • Send evidence to be processed from the turbinia client with turbinia-client submit ${evidencetype}
  • Check status of running tasks with turbinia-client status

turbinia-client can be used to interact with Turbinia through the API server component, and here is the basic usage:

$ turbinia-client -h
Usage: turbinia-client [OPTIONS] COMMAND [ARGS]...

  Turbinia API command-line tool (turbinia-client).

                          ***    ***
                           *          *
                      ***             ******
                     *                      *
                     **      *   *  **     ,*
                       *******  * ********
                              *  * *
                              *  * *
                              %%%%%%
                              %%%%%%
                     %%%%%%%%%%%%%%%       %%%%%%
               %%%%%%%%%%%%%%%%%%%%%      %%%%%%%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ** *******
  %%                                                   %%  ***************
  %%                                (%%%%%%%%%%%%%%%%%%%  *****  **
    %%%%%        %%%%%%%%%%%%%%%
    %%%%%%%%%%                     %%          **             ***
       %%%                         %%  %%             %%%           %%%%,
       %%%      %%%   %%%   %%%%%  %%%   %%%   %%  %%%   %%%  %%%       (%%
       %%%      %%%   %%%  %%%     %%     %%/  %%  %%%   %%%  %%%  %%%%%%%%
       %%%      %%%   %%%  %%%     %%%   %%%   %%  %%%   %%%  %%% %%%   %%%
       %%%        %%%%%    %%%       %%%%%     %%  %%%    %%  %%%   %%%%%

  This command-line tool interacts with Turbinia's API server.

  You can specify the API server location in ~/.turbinia_api_config.json

Options:
  -c, --config_instance TEXT  A Turbinia instance configuration name.
                              [default: (dynamic)]
  -p, --config_path TEXT      Path to the .turbinia_api_config.json file..
                              [default: (dynamic)]
  -h, --help                  Show this message and exit.

Commands:
  config    Get Turbinia configuration.
  evidence  Get or upload Turbinia evidence.
  jobs      Get a list of enabled Turbinia jobs.
  result    Get Turbinia request or task results.
  status    Get Turbinia request or task status.
  submit    Submit new requests to the Turbinia API server.

Check out the turbinia-client documentation page for a detailed user guide.

You can also interact with Turbinia directly from Python by using the API library. We provide some examples here

Other documentation

Obligatory Fine Print

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turbinia-20240820.tar.gz (318.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turbinia-20240820-py3-none-any.whl (503.6 kB view details)

Uploaded Python 3

File details

Details for the file turbinia-20240820.tar.gz.

File metadata

  • Download URL: turbinia-20240820.tar.gz
  • Upload date:
  • Size: 318.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for turbinia-20240820.tar.gz
Algorithm Hash digest
SHA256 92a1aa325d890a305ef53cf8797cbecd5b12f3463a08356f8df9b944598e07ca
MD5 4eed863e8084758db9e2ecceb4f1722d
BLAKE2b-256 7b9b4397da5fbbbf483d9dc8c58dfe586c954c93592a7a3cb6ac02751a6f7c40

See more details on using hashes here.

File details

Details for the file turbinia-20240820-py3-none-any.whl.

File metadata

  • Download URL: turbinia-20240820-py3-none-any.whl
  • Upload date:
  • Size: 503.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for turbinia-20240820-py3-none-any.whl
Algorithm Hash digest
SHA256 4d96ab85c719b718e522aadab82eda2b0873ffaa473eb516c0a761ac8e821671
MD5 b1d4d543fd3ee382f62a4286c03be1e7
BLAKE2b-256 5f514ceb582fd9cbd2bb4a1862540c75a3d7d84ab9be889bfaaa0f72613baf45

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

20240820 This release

2 files

20240614.2

2 files

20240614.1

2 files

20240614

2 files

20240412.1

2 files

20240313

2 files

20240311

2 files

20231116.2

2 files

20231116.1

2 files

20231116

2 files

20230808

1 file

20230726

1 file

20230315

1 file

20230214

1 file

20221201

1 file

20220919

1 file

20220701

1 file

20220504

1 file

20220325

1 file

20220216

1 file

20220113

1 file

20211018

1 file

20210902

1 file

20210831

1 file

20210826

1 file

20210610

1 file

20210601

1 file

20210503

1 file

20210422

1 file

20210330

1 file

20210312

1 file

20210208.3

1 file

20210208.1

1 file

20210208

1 file

20210120.3

1 file

20210120.2

1 file

20210120.1

1 file

20210120

1 file

20190819.19

1 file

20190819.18

1 file

20190819.17

1 file

20190819.16

1 file

20190819.15

1 file

20190819.14

1 file

20190819.13

1 file

20190819.12

1 file

20190819.11

1 file

20190819.10

1 file

20190819.9

1 file

20190819.8

1 file

20190819.7

1 file

20190819.6

1 file

20190819.5

1 file

20190819.4

1 file

20190819.3

1 file

20190819.2

1 file

20190819.1

1 file

20190819

1 file

20181004.2

1 file

20181004.1

1 file

20181004

1 file

20180620

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page