summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Reduced superfluous Travis-CI yaml content.1.3Toni Uhlig2021-05-12
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added missing datalink types.Toni Uhlig2021-05-12
| | | | | | * basicially C&P from nDPI reader_utils but with some more sanity checks Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Git submodule libnDPI update.Toni Uhlig2021-05-12
| | | | | | * enable ctest to run integration tests (**only** if BUILD_NDPI=ON) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* OpenWrt compatible build system.1.2Toni Uhlig2021-05-11
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added GPL-3 License.1.1Toni Uhlig2021-05-11
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Clone nDPI as submodule via CMake (if BUILD_NDPI=ON).1.0Toni Uhlig2021-05-11
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* README.md updatedToni Uhlig2021-05-10
| | | | | | | * removed all those outdated Makefile.old references * added additional CMake build instructions Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* py-flow-info: Support for --ipwhois, --new and --detection.Toni Uhlig2021-04-30
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Unified and improved dependency build/mgmt via CMake and travis-ci.Toni Uhlig2021-04-22
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added JA3 blacklist downloader/checker from abuse.chToni Uhlig2021-04-17
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added python example to check JA3 hashes against known hashes via JA3er.comToni Uhlig2021-04-16
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* travis-ci build CMake projectToni Uhlig2021-04-15
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* added some CMake install targetsToni Uhlig2021-04-15
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* added TODOToni Uhlig2021-04-14
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added nDPId semantic validation test.Toni Uhlig2021-04-14
| | | | | | | | | | | * fixed inconsistent processing of remaining flows during nDPId shutdown phase * fixed multiple `detected' flow events (instead only `detection-update' flow events can occur after a `detected' flow event) * fixed nDPIsrvd.py invalid message buffer handling * improved run_tests.sh so only valid pcap capture files are getting processed (and some more cosmetics + logging) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed nDPIsrvd.h flow end bug (flow end callback could never be called and ↵Toni Uhlig2021-04-11
| | | | | | caused some memory troubles). Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added IPv6 support for -I / -E.Toni Uhlig2021-04-11
| | | | | | | * added another Python search path and try-catch ModuleNotFoundError again * run_tests.sh checks for OpenBSD netcat (required for -q) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPId-test: mimic full nDPId lifecycleToni Uhlig2021-04-09
| | | | | | | * generate DAEMON_EVENT_INIT as well as DAEMON_EVENT_SHUTDOWN * process remaining flows before shutdown (and generate events) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added JSON schema validation to run_tests.shToni Uhlig2021-04-09
| | | | | | | * Python3 scripts are now compatible with versions <3.6 * improved and prettified run_tests.sh Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPId-test: added JSON distribution + JSON parsing (Multithreaded design ↵Toni Uhlig2021-04-09
| | | | | | | | | | | | | | re-using most of nDPId/nDPIsrvd core) * improved Makefile.old install targets * splitted nDPIsrvd_parse into nDPIsrvd_parse_line and nDPIsrvd_parse_all for the sake of readability * minor Python script improvments (check for nDPIsrvd.py on multiple locations, may be superseeded by setuptools in the future) * some paths needs to be absolute (chdir() during daemonize) and therefor additional checks introduced * test run script checks and fails if certain files are are missing (PCAP file <=> result output file) * removed not very useful "internal format error" JSON serialization if a BUG for same exists * fixed invalid l4 type statistics counters for nDPIsrvd-collectd Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Reverted internal ndpi structs to dynamic memory allocation hoping that it ↵Toni Uhlig2021-03-26
| | | | | | | | | | will help to reduce the average memory consumption. How? After the detection finished, internal ndpi structs can be free'd as they are not needed anymore. * Set the amount of max. packets to process via subopt. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* run_tests.sh checks/print-stderr-on-failToni Uhlig2021-03-24
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Updated README.mdToni Uhlig2021-03-24
| | | | | | * added examples/README.md and schema/README.md Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Updated test outputs and pinned travis-ci's nDPI git repo sync to a specific ↵Toni Uhlig2021-03-24
| | | | | | | | commit hash. * fixed Makefile.old COpts hell Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added diff'able nDPId-test JSON dumps and travis-ci integration.Toni Uhlig2021-03-24
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added nDPId-test as all-in-one JSON dumper.Toni Uhlig2021-03-24
| | | | | | | | | * fixed invalid flow event schema type * added run_tests.sh to generate/diff JSON dumps * renamed lot's of vars/fns in nDPId.c/nDPIsrvd.c, so nDPId-test.c can include "*.c" * improved CMake dependency checks Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Reduced code duplication. Preps for nDPId-test.Toni Uhlig2021-03-23
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Switched to CMake build system.Toni Uhlig2021-03-17
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPIsrvd collectd-exec overhaul.Toni Uhlig2021-03-15
| | | | | | | * Install targets updated. * Removed nDPIsrvd.h token validation function (done automatically by token_get). Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed collectd-exec issues.Toni Uhlig2021-03-12
| | | | | | * Added collectd example config and types.db Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added basic collectd-exec example.Toni Uhlig2021-03-10
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added missing enum strings.Toni Uhlig2021-03-09
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPIsrvd refactoringToni Uhlig2021-03-05
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed possible NULL pointer deref in dependencies/nDPIsrvd.h and ↵Toni Uhlig2021-02-28
| | | | | | | | | | examples/c-captured/c-captured.c * `make install` C examples * examples/py-flow-info/flow-info.py supports filtering * added breed to examples/py-flow-info/flow-info.py Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added JA3 / SSL SHA1 fingerprint blacklists.Toni Uhlig2021-02-27
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Finalized examples/c-captured to dump packet bytes to PCAP for further analysis.Toni Uhlig2021-02-24
| | | | | | * Fixed memory holes in nDPId structs. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Extended nDPIsrvd.h with address parsing.Toni Uhlig2021-02-23
| | | | | | | | | * nDPId supports looading of custom nDPI protocol/category files * extended JSON schemas according to nDPI / nDPId JSON serializing * removed memory holes in nDPId * extended examples/c-captured Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* C-Api uses similiar flow key hash calculation as Python-Api.Toni Uhlig2021-02-19
| | | | | | * Make use of flow id / alias / source which is required for future use cases where multiple nDPId instances (same / different machines) feed one nDPIsrvd. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Reverted f8692c6be11c664e4345ceaaec5c6b35ba9b3febToni Uhlig2021-02-17
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added JSON schema files and a Python schema validator.Toni Uhlig2021-02-17
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Aligned nDPIsrvd.py to nDPIsrvd.h for consistency.Toni Uhlig2021-02-16
| | | | | | | | | * Simplified Python interface as well. * c-captured and flow-undetected-to-pcap.py produce similiar results * Removed overloaded nDPIsrvd.py event structures. * flow-info.py prints (with a color-hash) additional information e.g. alias/source and midstream Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Removed superfluous nDPI (header) dependency for examples/c-captured. Use ↵Toni Uhlig2021-02-06
| | | | | | header definitions from libc instead. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPIsrvd C API overhaul and massive simplification.Toni Uhlig2021-02-06
| | | | | | | | * nDPIsrvd.h does flow mgmt out of the box * dissect received JSON strings via callback * added new JSON key/values for packet-flows (usecTimestamp/L3/L4 info) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed braindead failure - Increase of NETWORK_BUFFER_MAX_SIZE > 9999 means ↵Toni Uhlig2021-01-27
| | | | | | | | | to also increase NETWORK_BUFFER_LENGTH_DIGITS to 5. * Fixed ARM32 xcompile warnings; Other GCC versions, other uint64_t's.. * Replaced ridiculous nDPIsrvd_JSON_BYTES with NETWORK_BUFFER_LENGTH_DIGITS. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Increased JSON buffer size to 12288 (libnDPI serializes more and more ↵Toni Uhlig2021-01-27
| | | | | | | | | | | information). * Making Compare&Fetch mandatory. * Added some more Compare&Fetch to prevent TSAN complaining about data races. Fixed possible but more ore less harmless data races during shutdown process. * Shrink SIGNAL handler to a minimum. SYSV Signal handling and MT-safety is awkward. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* All colors are beautiful for py-flow-info.Toni Uhlig2021-01-26
| | | | | | * instance alias is now mandatory (will be required for future use-cases) Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Finished (mostly) C guessed/undetected flow dumper.Toni Uhlig2021-01-26
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Switched to a slightly modified base64 encoder basicially from wikibooks.Toni Uhlig2021-01-20
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added simple python json out example used for comparing JSON output.Toni Uhlig2021-01-20
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added internal/external packet processing modes. #2Toni Uhlig2021-01-10
| | | | | | * fixed incorrect handling of skipped flows Signed-off-by: Toni Uhlig <matzeton@googlemail.com>