Skip to main content

A python wrapper for the Kismet database

Project description

Kismet DB abstraction

Documentation Status

Quickstart

Install with pip install .

In the Python interpreter:

import json
import kismetdb
kismet_log_file = "kismet/database.here"
alerts = kismetdb.Alerts(kismet_log_file)

# Get alert metadata
all_alerts_meta = alerts.get_meta()
for alert in all_alerts_meta:
    print(alert["header"])

# Get payload from all alerts
all_alerts = alerts.get_all()
for alert in all_alerts:
    print(json.loads(alert["json"])["kismet.alert.text"])

Included scripts

Alongside the Python library, several commands are installed:

  • kismet_log_devices_to_json

  • kismet_log_to_csv

  • kismet_log_to_kml

  • kismet_log_to_pcap

Following any of the prior commands with --help will provide details on usage

Testing

In order to test, you must place a kismet sqlite log file at tests/assets/testdata.kismet_4 and tests/assets/testdata.kismet_4, which are Kismet version 4 and 5 databases, respectively.

Testing happens in a Docker build process:

Testing for Python 2.7:

docker build .

Testing for Python 3.6:

docker build --build-arg PY_VER=3.6 .

Testing for Python 3.7:

docker build --build-arg PY_VER=3.7 .

Changelog

v5.1.0

New

  • Include version-specific converters. [Ash Wilson]

    This allows us to, for instance, ensure that all GPS coordinates are returned as float-type values, across all database versions, no matter how they were originally stored in the database.

    Closes #22

  • Support v4 as well as v5 Kismet databases. [Ash Wilson]

    Closes #19

  • Add kismet_log_devices_to_filebeat_json. [Ash Wilson]

    Closes #17

v5.0.0 (2019-02-12)

New

  • Support v5 schema. [Ash Wilson]

v4.0.3 (2019-02-05)

Changes

  • Updated docs, added simplekml requirement. [Ash Wilson]

    Closes #8 Closes #7

  • Adding docs to be built by Sphinx. [Ash Wilson]

  • Scripts automatically install with Python package. [Ash Wilson]

    Added generator function yield_rows() to all abstractions.

  • Initial working commit. [Ash Wilson]

    In order to run integration tests, you need a Kismet db at tests/assets/testdata.kismet.

Project details


Download files

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

Source Distribution

kismetdb-5.1.0.tar.gz (15.2 kB view details)

Uploaded Source

File details

Details for the file kismetdb-5.1.0.tar.gz.

File metadata

  • Download URL: kismetdb-5.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.0.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/2.7.15

File hashes

Hashes for kismetdb-5.1.0.tar.gz
Algorithm Hash digest
SHA256 6709838d19e15ca03766a378aa68b9465a7df854861a63f8fb97ae67a2e39a55
MD5 ff7313751f0b9bb2678593b667a5edfb
BLAKE2b-256 7e82f6de247e6a453b2bed565065ed0eca453b7e8ba9cdf78a55547df9ef5b63

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page