nDPI/python
Toni b040407683
Refactored nDPI subprotocol handling and aimini protocol detection. (#1156)
* Refactored and merged callback buffer routines for non-udp-tcp / udp / tcp / tcp-wo-payload.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Try to detect one subprotocol if a detected protocol can have one.

 * This adds a performance overhead due to much more protocol detection routine calls.
   See #1148 for more information.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Refactor subprotocol handling (1/2).

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Refactor subprotocol handling (2/2).

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Prevent some code duplication by using macros for ndpi_int_one_line_struct string comparision.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Refactored aimini HTTP detection parts (somehow related to #1148).

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Added aimini client/server test pcap.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>

* Removed master protocol as it was only used for STUN and via also removed API function ndpi_get_protocol_id_master_proto

 * Adjusted Python code to conform to the changes made during the refactoring process.

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
2021-03-23 11:46:12 +01:00
..
flow_printer.py Update example. 2020-09-14 16:42:33 +02:00
Makefile.in Added missing library 2021-01-22 09:31:37 +01:00
ndpi.py Refactored nDPI subprotocol handling and aimini protocol detection. (#1156) 2021-03-23 11:46:12 +01:00
ndpi_example.py Polish. 2019-11-15 19:30:50 +01:00
ndpi_typestruct.py Refactored nDPI subprotocol handling and aimini protocol detection. (#1156) 2021-03-23 11:46:12 +01:00
ndpi_wrap.c Fixes #777 2019-09-23 18:04:55 +02:00
python_extensions_guide.pdf Reworked categories handling 2019-09-29 21:46:41 +02:00
README.rst Update Python cffi bindings. 2020-02-21 17:28:44 +01:00

nDPI Python bindings
--------------------

This directory contains the Python3 bindings for nDPI. We provide both cffi and ctypes based bindings.

**cffi bindings**

Files:

* ndpi.py

Example (using `nfstream <https://github.com/aouinizied/nfstream>`_   package):

.. code-block:: bash

    pip3 install nfstream
    python3 flow_printer.py <interface>
    python3 flow_printer.py <pcap_file>

Code courtesy:

* Zied Aouini

**ctypes bindings**

Files:

* ndpi_typestruct.py
* ndpi_wrap.c
* Makefile.in

Example:

.. code-block:: bash

    pip3 install scapy
    python3 ndpi_example.py <interface>
    python3 ndpi_example.py <pcap_file>

Code courtesy:

* Massimo Puddu
* Zied Aouini