A python wrapper for the Kismet database
Project description
Kismet database wrapper
_______________________
.. image:: https://readthedocs.org/projects/kismetdb/badge/?version=latest
:target: https://kismetdb.readthedocs.io/en/latest/?badge=latest
:alt: 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``
* ``kismet_log_devices_to_filebeat_json``
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_5``,
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
=========
v2019.03.01
-----------
- Add license file now that it's a submodule. [Mike Kershaw / Dragorn]
- Minor commit to trigger mirror. [Mike Kershaw / Dragorn]
v5.1.0 (2019-02-16)
-------------------
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.
_______________________
.. image:: https://readthedocs.org/projects/kismetdb/badge/?version=latest
:target: https://kismetdb.readthedocs.io/en/latest/?badge=latest
:alt: 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``
* ``kismet_log_devices_to_filebeat_json``
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_5``,
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
=========
v2019.03.01
-----------
- Add license file now that it's a submodule. [Mike Kershaw / Dragorn]
- Minor commit to trigger mirror. [Mike Kershaw / Dragorn]
v5.1.0 (2019-02-16)
-------------------
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kismetdb-2019.3.1.tar.gz
(15.1 kB
view details)
File details
Details for the file kismetdb-2019.3.1.tar.gz
.
File metadata
- Download URL: kismetdb-2019.3.1.tar.gz
- Upload date:
- Size: 15.1 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c33e884c05d7678ed8c0e3e94703baf942978875061a227e72cc24666e08d5d2 |
|
MD5 | 11d38246ab153086539b452ec0c1dd2a |
|
BLAKE2b-256 | c463db0b276d63cee6fecfd1974b3a4e81323d6def1a6dfe37e67b5ecff61982 |