nDPI/python
Nardi Ivan 79b89d2866 Add risk flag about suspicious ESNI usage
In a Client Hello, the presence of both SNI and ESNI may obfuscate the real
domain of an HTTPS connection, fooling DPI engines and firewalls, similarly
to Domain Fronting.

Such technique is reported in a presentation at DEF CON 28:
"Domain Fronting is Dead, Long Live Domain Fronting: Using TLS 1.3 to evade
censors, bypass network defenses, and blend in with the noise"
Full credit for the idea must go the original author

At the moment, the only way to get the pdf presention and related video is via
https://forum.defcon.org/node/234492
Hopefully a direct link (and an example pcap) will be available soon
2020-08-05 17:13:23 +02:00
..
flow_printer.py Fix flow_printer example. 2020-04-15 08:05:03 +02:00
Makefile.in Fixes #777 2019-09-23 18:04:55 +02:00
ndpi.py Add risk flag about suspicious ESNI usage 2020-08-05 17:13:23 +02:00
ndpi_example.py Polish. 2019-11-15 19:30:50 +01:00
ndpi_typestruct.py Polish. 2019-11-15 19:30:50 +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