Tool used for converting jiffies from iptables xt_recent into timestamps.
Project description
pyjq
A simple Python package to Query Json Data.
Features
- Supports pure json files
- Supports multiple json objects in a file, delimited by newlines (/n)
- Supports gzipped files
- Supports customizabile filters
- Supports pure datetime range filters
Todo
The filters could be extended easily, adopting Python3 stdlib operator.
See pyjq.PyJQ.filter
to extend ops mapping.
Installation
pip install pyjq-ng
Example data
See example/alerts.json
.
pyjq works on lines by lines (splitted by \n).
It have been used for Wazuh alert json files and Django dumps.
pyjq -j examples/django_dump.json -limit 2 -filter 'fields__original_url == https://google.com'
pyjq -j examples/django_dump.json -limit 2 -filter 'model == urlshortener.urlshortener'
Usage
'agent__name' it's an example of the namespace used by pyjq to access to nested childs. It other word it means json['agent']['name']
.
It haven't limits on number of nested elements.
Apply some custom filters with AND and OR operators on Wazuh Alert file
pyjq -j ../Scaricati/alerts.json -filter 'agent__ip == 172.16.16.102 and agent__name == telegram-gw or agent__ip == 172.16.16.108'
Contains operator
pyjq -j ../Scaricati/alerts.json -filter 'rule__description in iptables and agent__name == dev-bastion'
Convert a specified filed to a pure datetime object and filter in a specified range
pyjq -j ../Scaricati/alerts.json -start_datetime 2020-04-06T10:22:00 -end_datetime 2020-04-06T13:22:00 -datetime_field timestamp
Realtime reading, it will only takes the latter entries, delimited by newline \n
pyjq -j /var/ossec/logs/alerts/alerts.json -r -start_date 2020-04-07T14:40:23 -datetime_field timestamp -realtime
Use a gzipped json file directly
pyjq -j ../Scaricati/alerts.json.gzip
Limit results to 2
pyjq -j ../Scaricati/alerts.json -limit 2
Author
Giuseppe De Marco giuseppe.demarco@unical.it
Credits
Wazuh SIEM group @GarrLab
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
Built Distribution
File details
Details for the file pyjq-ng-0.6.0.tar.gz
.
File metadata
- Download URL: pyjq-ng-0.6.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5603125736077cc504e1ca3d16bd489ce28b6a0ebf4c77681240df96e53fc0cf |
|
MD5 | f2dc8cfe37396796b5fbdfa1f01ac411 |
|
BLAKE2b-256 | 7296540bda11fef4b824fd5e2d4dcac8ab9204465866ff2dcb231cd160c2f055 |
File details
Details for the file pyjq_ng-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: pyjq_ng-0.6.0-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e0e68648241843c41e80d1c8811e99427519bf98848d1a23a4d341d7bc763de |
|
MD5 | 722446e51e5a7a686769df0a3e0dd213 |
|
BLAKE2b-256 | 44915d3fa16f5ed848c5cd79beda9aae86eccd6dc09b3fd43b7af46a1b6bfc90 |