810 Commits

Author SHA1 Message Date
Toni Uhlig
7e81f5b1b7 Added Grafana nDPId dashboard.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-16 15:20:27 +01:00
Toni Uhlig
8acf2d7273 Improved InfluxDB push daemon.
* added proper gauge handling that enables pushing data w/o missing out
   anything e.g. short flows with a lifetime in-between two InfluxDB intervals

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-15 09:16:28 +01:00
Toni Uhlig
71d933b0cd Fixed an event issue.
* a "detection-update" event was thrown even if nothing changed
 * in some cases "not-detected" events were spammed if detection not completed
 * tell `libnDPI` how many packets per flow we want to dissect
 * `nDPId-test` validates total active flows in the right way

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-14 15:45:08 +01:00
Toni Uhlig
fbe07fd882 Improved InfluxDB push daemon.
* fixed severity parsing and gauge handling
 * added flow state gauges
 * flow related gauges are only increased/decreased if a "new" event was seen (except for bytes xfer)

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-14 15:38:38 +01:00
Toni Uhlig
5432b06665 Improved InfluxDB push daemon.
* fixed missing flow active gauge
 * fixed invalid flow risk severity gauges
 * fixed missing flow risk gauges

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-11 23:14:00 +01:00
Toni Uhlig
142a435bf6 Add InfluxDB push daemon.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-07 10:00:25 +01:00
Toni Uhlig
f5c5bc88a7 Replaced ambiguous naming of "JSON string" to more accurate "JSON message". #2
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-04 13:13:05 +01:00
Toni Uhlig
53d8a28582 Replaced ambiguous naming of "JSON string" to more accurate "JSON message".
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-04 13:01:27 +01:00
Toni Uhlig
37f3770e3e Improved zlib compression ratio.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-01 06:43:39 +01:00
Toni Uhlig
7368d34d8d c-collectd: Fixed missing escape char.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-01 06:43:39 +01:00
Toni Uhlig
ff77bab398 Warn about unused return values that are quite important.
* CI: ArchLinux build should now instrument `-Werror`
 * CI: Increased OpenWrt build verbosity

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-01 06:43:39 +01:00
Toni Uhlig
d274a06176 flow-info.py: Do not print any information if a flow is "empty" meaning no L4 payload seen so far.
* added JsonDecodeError to provide more information if builtin JSON decoder fails

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-12-01 06:43:39 +01:00
Paul Donald
a5dcc17396 Update README.md (#32)
Sp/gr. 

Co-authored-by: Toni <matzeton@googlemail.com>
2023-11-27 09:08:25 +01:00
Toni Uhlig
3416db11dc Updated ReadMe's, ToDo's and ChangeLog.
* 1.6-release

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 23:39:47 +01:00
Toni Uhlig
830174c7b5 Fixed possible buffer underflow.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 17:52:30 +01:00
Toni Uhlig
bb9f02719d Added SonarCloud exclusions for third-party files and files lacking relevance.
* fixed two other "bugs"

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 14:51:59 +01:00
Toni Uhlig
f38f1ec37f Changed CI image from ubuntu-18.04 to ubuntu-20.04 as it is deprecated since '22.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 13:44:19 +01:00
Toni Uhlig
fa7e76cc75 Fixed SonarCloud complaints.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 13:40:48 +01:00
Toni Uhlig
b0c343a795 Workaround for libpap (<1.9.0) on Ubuntu-18.04
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 12:41:24 +01:00
Toni Uhlig
d5266b7f44 Support simple config file reading via systemd environment file.
* cfg file path defaults to PREFIX/etc/default/ndpid

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-20 12:27:40 +01:00
Toni Uhlig
82934b7271 Fixed clang-tidy warnings.
* fixed/improved c-captured logging

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-13 13:52:42 +01:00
Toni Uhlig
4920b2a4be Use c-captured within test/run_tests.sh.
* Some logging related modifications were required to achieve this.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-11 19:16:07 +01:00
Toni Uhlig
8ebaccc27d py-flow-info: Improved analyse result printing.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-09 23:44:35 +01:00
Toni Uhlig
dcb595e161 bump libnDPI to b08c787fe267053afdea82701071f3878c09244b
* fix ndpi data anylsis struct min/max issue
 * py-flow-info cosmetics in printing some information

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-09 19:52:36 +01:00
Toni Uhlig
b667f9e1da Forcefully reset NDPI_UNIDIRECTIONAL_TRAFFIC if classification was done after the first packet. Nonsense.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-08 17:07:20 +01:00
Toni Uhlig
55c8a848d3 Fixed missing deflate during flow event json serializing.
* caused by recently added serializing some nDPI data even packet processing is still ongoing

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-08 13:16:57 +01:00
Toni Uhlig
d80ea84d2e Reset Unidirectional Traffc risk if packets from both directions processed.
* Fixed risk hash value calculation, which was only done lower 32 bits.
 * Reduced default reader threads count to two if cross compiling.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-08 01:27:42 +01:00
Toni Uhlig
b1e679b0bb Improved DBUS notification daemon.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-07 17:50:12 +01:00
Toni Uhlig
949fc0c35e bump libnDPI to 0db12b1390b1cc554b927230c76b05264c05b498
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-07 00:35:42 +01:00
Toni Uhlig
5d56288a11 Fixed more SonarCloud complaints.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-07 00:02:36 +01:00
Toni Uhlig
84b12cd02c Fixed some SonarCloud complaints.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-06 13:31:59 +01:00
Toni
93498fff02 Apple/BSD port (#30)
* Add MacOS to Github CI builds.
* Fixed libnDPI-4.8 CI build.
* Fixed missing include for `struct sockaddr*`.
* Reworked IPv4 address and netmask retrieval.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-06 13:25:49 +01:00
Toni
1b67927169 Event I/O abstraction layer. (#28)
* Finalize Event I/O abstraction layer.
* Fix possible fd leakage, Gitlab-CI build and error logging.
* Fixed possible uninitialized signalfd variable.
* Fixed possible memory leak.
* Fixed some SonarCloud complaints.
* Fixed nDPId-test nDPIsrvd-arpa-mockup stuck indefinitely.
* Add nDPId / nDPIsrvd command line option to use poll() on Linux instead of the default epoll().

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-06 12:38:15 +01:00
Toni Uhlig
17c21e1d27 Updated ToDo and added ChangeLog.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-05 16:00:47 +01:00
Toni Uhlig
5fb706e9a6 Set timeout for nDPId-test run's.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-03 16:38:58 +01:00
Toni Uhlig
5335d84fe5 Add DBUS suspicious flow event notification daemon.
* nDPIsrvd.h: support for closing/resetting a nDPIsrvd_socket (required for a reconnect)

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-03 16:07:28 +01:00
Toni Uhlig
32ab500eb0 Bump werkzeug to 3.0.1
* see #29

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-11-02 14:15:06 +01:00
Toni Uhlig
e124f2d660 Switched to UNIX socket use for tests.
* use `ss` to make sure that the socket is not available anymore after every single test

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-20 00:25:59 +02:00
Toni Uhlig
6ff8982ffb Fixed bug which may happen if additional write buffers are empty but main write buffer not.
* may cause nDPIsrvd to hang indefinitly if no more data received from a collector

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-19 13:40:44 +02:00
Toni Uhlig
315dc32baf Improved syslog logging.
* fixed missing log level for non-error message, causes systemd to send broadcast messages
 * completly removed logging to stderr while started via systemd

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-19 13:38:26 +02:00
Toni Uhlig
3d0c06ef54 Disable SonarCloud Coverage generation.
* ToDo: Fix and Re-Enable?

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-18 22:48:44 +02:00
Toni Uhlig
8dca2b546a Added Coverage generation for SonarCloud.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-17 00:15:25 +02:00
Toni Uhlig
e134eef5bb Fixed Dockerfile related SonarCloud issues.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-16 20:38:54 +02:00
Toni Uhlig
d29efd4d7c Docker: Switched from Ubuntu 22.10 to 22.04 LTS.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-16 16:49:30 +02:00
Toni Uhlig
44adfc0b7d Sonarcloud integration
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-05 17:37:42 +02:00
Toni Uhlig
dfd0449306 Fix issues detected by SonarCloud.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-05 17:26:06 +02:00
Toni Uhlig
07f2c2d9cc nDPId-test: ingore event handler failures caused by arpa mockup
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-05 17:25:54 +02:00
Toni Uhlig
73b8c378f2 nDPId event I/O fixes.
* forcibly disable epoll even if available
 * nDPId-test event I/O selftest
 * CI event I/O tests

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-10-05 12:32:45 +02:00
Toni Uhlig
a0e0611c56 nDPIsrvd: Log error if collector unix socket can not be removed.
* systemd: add post stop hook to forcefully remove the collector unix socket

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-09-11 16:58:13 +02:00
Toni Uhlig
7f8e01d442 Fix CI.
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2023-09-11 12:55:54 +02:00