summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* bump libnDPI to c287eb835b537ce64d9293a52ca13e670b6d3b0dToni Uhlig2022-06-19
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* py-flow-dashboard: Improved graph axis scaling.lns2022-06-16
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* CMake: do not add /usr/include/ndpi to include dirs if BUILD_NDPI or ↵lns2022-06-10
| | | | | | | | | STATIC_LIBNDPI_INSTALLDIR used. * c-collectd: fixed memory leak on failure * py-flow-info.py: fancy spinners and stats counting improved Signed-off-by: lns <matzeton@googlemail.com>
* Merge branch 'master' of github.com:lnslbrty/nDPIdToni Uhlig2022-06-07
|\
| * bump libnDPI to 0b3f8ed849cdf9971224c49a3958f0904a2bbbb5lns2022-06-06
| | | | | | | | | | | | * README/nDPId: fixed typ0 Signed-off-by: lns <matzeton@googlemail.com>
| * README updatelns2022-05-31
| | | | | | | | Signed-off-by: lns <matzeton@googlemail.com>
| * Updated CI badges.Toni2022-05-08
| |
* | nDPIsrvd.py: Throw SocketTimeout Exception to catch both timeout exceptions ↵Toni Uhlig2022-06-07
|/ | | | | | different Python versions can throw. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Small fixes.lns2022-04-26
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* Github Actions: Build nDPId against lowest supported libnDPI release (4.2)lns2022-04-25
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* nDPId: Merged nDPId_flow_(info|finished) into nDPId_flowlns2022-04-24
| | | | | | | * nDPIsrvd: Fixed buffer allocation error due to missing memset() on disconnect * nDPIsrvd: Removed unused struct members Signed-off-by: lns <matzeton@googlemail.com>
* Added proper DLT_RAW dissection for IPv4 and IPv6.lns2022-04-24
| | | | | | | | | | * nDPId: Improved TCP timeout handling if FIN/RST seen which caused Midstream TCP flows when there shouldn't be any. * nDPIsrvd: Unified remote descriptor resource cleanup on disconnects/shutdown. * nDPIsrvd: Added additional error messages for remote descriptors. * py-flow-info: Better daemon status message printing. Signed-off-by: lns <matzeton@googlemail.com>
* bump libnDPI to 8b2c9860be8b0663bfe9fc3b6defc041bb90e5b21.5lns2022-04-18
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* nDPIsrvd.(h|py): Added socket read/recv timeout.lns2022-04-17
| | | | | | * nDPIsrvd.h: support for O_NONBLOCK nDPIsrvd_socket Signed-off-by: lns <matzeton@googlemail.com>
* Added more CCs to Github Actions workflow.lns2022-04-17
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* Refactored buffer subsystem.lns2022-04-16
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* Fixed build if BUILD_NDPI=ON. May happen during XCompilation.lns2022-04-16
| | | | Signed-off-by: lns <matzeton@googlemail.com>
* Avoid CMake searching for gcrypt as default.Toni Uhlig2022-04-02
| | | | | | * Not necessary anymore coz libnDPI has now a builtin gcrypt-light Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* bump libnDPI to bb12837ca75efc2691ecb18fd5f56e2d097ef26bToni Uhlig2022-03-24
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Executing ./tests/run_tests.sh w/o zLib should not result in diff's anymore.Toni Uhlig2022-03-24
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Reworked nDPIsrvd.h C-API.Toni Uhlig2022-03-21
| | | | | | | | | | | | * nDPIsrvd.h: Provide nDPId thread storage. * nDPIsrvd.py: Fixed instance cleanup bug. * nDPIsrvd.h: Support for instance/thread user data and cleanup callback. * nDPIsrvd.h: Most recent flow time stored in thread ht instead of instance ht. * nDPId: Moved flow logger out the memory profilier into SIGUSR1 signal handling. * nDPId: Added signal fd to be usable within epoll's event handling (live-capture only!) * nDPId: Added information about ZLib compressions to daemon status/shutdown events. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Renamed basic event to error event for the sake of the logic.Toni Uhlig2022-03-13
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Disconnect nDPIsrvd clients immediately instead waiting for a failed write().Toni Uhlig2022-03-13
| | | | | | | | | * nDPIsrvd: Collector/Distributor logging improved * nDPIsrvd: Command line option for max remote descriptors * nDPId: Stop spamming nDPIsrvd Collector with the same events over and over again * nDPId: Refactored some variable names and events Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* CI: Fixed missing lcov prereq.Toni Uhlig2022-03-12
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Code coverage generation using LCOV.Toni Uhlig2022-03-11
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added nDPIsrvd TCP/IP support for distributors.Toni Uhlig2022-03-10
| | | | | | | | * nDPIsrvd: Improved distributor client disconnect detection * nDPIsrvd: Fixed invalid usage of epoll_add instead of epoll_mod * nPDIsrvd: Improved logging for distributor clients Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed some pyhton issues with static class members.Toni Uhlig2022-03-08
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed build error regarding missing LINKTYPE_* define's.Toni Uhlig2022-03-06
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Updated examples/README.mdToni Uhlig2022-03-06
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Removed go-dashboard example.Toni Uhlig2022-03-06
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added daemon event: DAEMON_EVENT_STATUS (periodically send's daemon statistics.)Toni Uhlig2022-03-06
| | | | | | | | | | * Improved distributor timeout handling (per-thread). * flow-info.py / flow-dash.py: Distinguish between flow risk severities. * nDPId: Skip tag switch datalink packet dissection / processing. * nDPId: Fixed incorrect value for current active flows. * Improved JSON schema's. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Serialize flow risk score / confidence.Toni Uhlig2022-02-27
| | | | | | | * bump libnDPI to 8b062295cc76a60e3905c054ce37bd17669464d1 * removed ndpi_id_struct's Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Improved py-flow-info to provide more optional information about received ↵Toni Uhlig2022-02-05
| | | | | | | | | | timestamps. * py-flow-dashboard: Added color mapping for PieCharts/Graph that make more sense * nDPId: Renamed `flow_type' to a more precisely `flow_state' * nDPId: Changed the default setting to process only as much packets as libnDPI does Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added additional (minimalistic) detection information to flow updates.Toni Uhlig2022-02-04
| | | | | | | | | | | | | This will only affect flows with the state `FT_FINISHED' (detection done). * nDPIsrvd.py: force use of JSON schema Draft 7 validator * flow-dash.py: gather/use total processed layer4 payload size * flow-info.py: added additional event filter * flow-info.py: prettified flow events printing whose detection is in progress * py-semantic-validation.py: added validation checks for FT_FINISHED * updated flow event JSON schema Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added logging interface used by nDPId, nDPIsrvd and nDPId-test.Toni Uhlig2022-02-03
| | | | | | | | | * fixed GitLab pipeline * nDPId: added static assert (just for a test) * nDPId: memory profiling for total bytes compressed * nDPId-test: enable zLib compression if configured with ENABLE_ZLIB Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Process additional layer 3 protocols.Toni Uhlig2022-01-31
| | | | | | | | | * bump libnDPI to c53c82d4823b5a8f856d1375155ac5112b68e8af * run_tests.sh: improved execution from non-git directories e.g. via `make dist` * updated JSON schema to be more restrictive * nDPId: splitted generic get_ip_from_sockaddr into IPv4/IPv6 to prevent compiler warnings on some platforms Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPIsrvd: Fixed memory leak caused be not clearing buffer cache after a ↵Toni Uhlig2022-01-26
| | | | | | | | client disconnected. * README.md: Fixed a typ0 and added a meh image from examples/py-flow-dashboard/flow-dash.py Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPId: Added some error messages when workflow init fails.Toni Uhlig2022-01-26
| | | | | | | * Fixed invalid array subscript typ0 (caused some trouble..) * bump libnDPI to 2cd0479204301c50c6149706fcd4df3058b2a8cc Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* py-flow-dashboard: added tab layout and event pie chartToni Uhlig2022-01-26
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Improved Plotly/Dash example. It is now somehow informative.Toni Uhlig2022-01-25
| | | | | | | * TCP timeout after FIN/RST: switched back to the value from a35fc1d5ea8570609cc0c8cf6edadc81f8f5bb76 * py-flow-info: reset 'guessed' flag after detection/detection-update received Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Major nDPId extension. Sorry for the huge commit.Toni Uhlig2022-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - nDPId: fixed invalid IP4/IP6 tuple compare - nDPIsrvd: fixed caching issue (finally) - added tiny c example (can be used to check flow manager sanity) - c-captured: use flow_last_seen timestamp from `struct nDPIsrvd_flow` - README.md update: added example JSON sequence - nDPId: added new flow event `update` necessary for correct timeout handling (and other future use-cases) - nDPIsrvd.h and nDPIsrvd.py: switched to an instance (consists of an alias/source tuple) based flow manager - every flow related event **must** now serialize `alias`, `source`, `flow_id`, `flow_last_seen` and `flow_idle_time` to make the timeout handling and verification process work correctly - nDPIsrvd.h: ability to profile any dynamic memory (de-)allocation - nDPIsrvd.py: removed PcapPacket class (unused) - py-flow-dashboard and py-flow-multiprocess: fixed race condition - py-flow-info: print statusbar with probably useful information - nDPId/nDPIsrvd.h: switched from packet-flow only timestamps (`pkt_*sec`) to a generic flow event timestamp `ts_msec` - nDPId-test: added additional checks - nDPId: increased ICMP flow timeout - nDPId: using event based i/o if capturing packets from a device - nDPIsrvd: fixed memory leak on shutdown if remote descriptors were still connected Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Removed py-flow-undetected-to-pcap and py-risky-flow-to-pcap. Done by ↵Toni Uhlig2021-11-21
| | | | | | c-captured anyway. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* go-dashboard renaming, ignore go-mod and it's file structureToni Uhlig2021-11-21
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Use blocking I/O to prevent data loss if nDPIsrvd too slow.Toni Uhlig2021-11-16
| | | | | | * Fixed MemoryProfiler stack overflow. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* MemoryProfiling: Advanced flow usage logging.Toni Uhlig2021-11-13
| | | | | | | | * nDPId-test: disable #include <syslog.h> if NO_MAIN macro defined * nDPId-test: mock syslog flags and functions * gitlab-ci: force -Werror Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* nDPId-test: Set max buffer size for remote descriptors useful to test ↵Toni Uhlig2021-11-04
| | | | | | caching/buffering. Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Added timestamp validation test.Toni Uhlig2021-11-02
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Additional semantic validation tests.Toni Uhlig2021-11-02
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* c-captured: Improved format string in nDPIsrvd_write_flow_info_cb.Toni Uhlig2021-10-08
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
* Fixed compile error due to missing stdint.h include before ndpi_typedefs.hToni Uhlig2021-10-08
| | | | Signed-off-by: Toni Uhlig <matzeton@googlemail.com>