Commit graph

17 commits

Author SHA1 Message Date
Dominik Pataky 942df30bf6 Release v0.12.1 2023-08-19 19:16:02 +02:00
Dominik Pataky 3b207c3568 Update README 2021-05-02 16:15:38 +02:00
Dominik Pataky 5cdb514ffc Ensure compatibility with Python 3.5.3
This commit replaces multiple occurences of new features which were not
yet implemented with Python 3.5.3, which is the reference backwards
compatibility version for this package. The version is based on the
current Python version in Debian Stretch (oldstable). According to
pkgs.org, all other distros use 3.6+, so 3.5.3 is the lower boundary.

Changes:
  * Add maxsize argument to functools.lru_cache decorator
  * Replace f"" with .format()
  * Replace variable type hints "var: type = val" with "# type:" comments
  * Replace pstats.SortKey enum with strings in performance tests

Additionally, various styling fixes were applied.
The version compatibility was tested with tox, pyenv and Python 3.5.3,
but there is no tox.ini yet which automates this test.

Bump patch version number to 0.10.3
Update author's email address.

Resolves #27
2020-04-24 16:52:25 +02:00
Dominik Pataky 27525887bd Update README to reflect IPFIX implementation; bump version to v0.10.0
Resolves #20
2020-04-01 14:40:21 +02:00
Dominik Pataky 524e411850 Add first approach of IPFIX implementation
Adds a new module, IPFIX. The collector already recognizes version 10 in
the header, meaning IPFIX. The parser is able to dissect the export
package and all sets with their headers.

Missing is the handling of the templates in the data sets - a feature
needed for the whole parsing process to complete.
2020-03-31 20:58:15 +02:00
Dominik Pataky d4d6d59713 Provide parse_packet as API; fix parse_packet input handling; README
To get closer to a stable package, netflow now offers the parse_packet
function in its top-level __init__ file. This function was also enhanced
to handle multiple input formats (str, bytes, hex bytes).

Updated README accordingly.
2020-03-30 13:04:25 +02:00
Dominik Pataky 4a90e0ce34 Update README, bump minor version to v0.9.0 2020-03-29 22:34:30 +02:00
Dominik Pataky 5fd4e9bd24 Update README/setup.py; add .json property to v9 header for export
The README and setup.py were adapted to the current state, preparing for
PyPI upload and package info.

In v9, the header received an additional .json property, which exports
the header as a dict to allow JSON serialization in the export file.
This export is used in main.py
2020-03-29 18:06:52 +02:00
Dominik Pataky adb02eab24 Update to 2020 in file headers; update the analyzer file name in README
The analyzer is now found in analyzer.py and uses the '-f' flag for
GZIPed input files. Bundled with the previous PR commit, this update
should now be clearer.
2020-01-20 16:59:36 +01:00
kudakwashe siziva 59652f7d2f
Update README.md
Changed file extension from json to gz
2020-01-17 10:43:21 +02:00
Dominik Pataky 9f16d246a5 Add v1, v5 to README; change fallback; add timeout parameter
Updated the README to reference NetFlow v1 and v5 as well.

The fallback(key, dict) method used an exception-based testing of the
keys existence. Switched to 'if x in'.

The NetFlowListener is based on threading.Thread, which uses the
'timeout' parameter in .join(). Added.
2019-10-31 17:55:48 +01:00
Dominik Pataky ce2be709d6 Update README + LICENSE 2019-03-31 21:37:13 +02:00
Dominik Pataky 8de110980c Add tests for the collector (main.py). 2019-03-31 21:23:24 +02:00
Dominik Pataky 9395aafa71 Fix missing IP_PROTOCOL_VERSION field in analyzer
Checks for the key first and handles non-existence.
Update to Copyright notices.

Fixes #3
2018-02-20 12:09:54 +01:00
Dominik Pataky 691a3480fd Add duration to Connection 2017-10-29 19:38:33 +01:00
Dominik Pataky 6c267c8c77 Bump to 0.6; expand analyzer 2017-10-29 11:53:32 +01:00
Dominik Pataky aa2a8d8458 Add LICENSE and README.md 2016-08-10 22:47:35 +02:00