aboutsummaryrefslogtreecommitdiff
path: root/python/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'python/README.md')
-rw-r--r--python/README.md79
1 files changed, 79 insertions, 0 deletions
diff --git a/python/README.md b/python/README.md
new file mode 100644
index 000000000..8cb2f64c6
--- /dev/null
+++ b/python/README.md
@@ -0,0 +1,79 @@
+# ndpi
+
+This package contains Python bindings for nDPI. nDPI is an Open and Extensible LGPLv3 Deep Packet Inspection Library.
+
+**ndpi** is implemented using [**CFFI**][cffi] (out-of-line API mode). Consequently, it is fast and [**PyPy**][pypy]
+compliant.
+
+## Installation
+
+### Build nDPI
+
+``` bash
+git clone --branch dev https://github.com/ntop/nDPI.git
+cd nDPI
+./autogen.sh
+./configure
+make
+```
+
+### Install ndpi package
+
+``` bash
+cd python
+python3 -m install -r dev_requirements.txt
+python3 setup.py install
+```
+
+## Usage
+
+### API
+``` python
+from ndpi import NDPI, NDPIFlow
+
+nDPI = NDPI()
+
+# You per flow processing here
+# ...
+
+ndpi_flow = NDPIFlow()
+nDPI.process_packet(ndpi_flow, ip_bytes, time_ms)
+nDPI.giveup(ndpi_flow) # If you want to guess it instead (DPI fallback)
+```
+
+### Example Application
+
+[ndpi_example.py][ndpi_example] is provided to demonstrate how **ndpi** can be integrated within your Python application.
+
+``` bash
+Using nDPI 4.3.0-3532-8dd70b70
+usage: ndpi_example.py [-h] [-u] input
+
+positional arguments:
+ input input pcap file path
+
+optional arguments:
+ -h, --help show this help message and exit
+ -u, --include-unknowns
+```
+
+Example with a Skype capture file
+
+``` bash
+python ndpi_example.py -u ../tests/pcap/skype.pcap
+```
+
+## Related projects
+
+The provided example is for demo purposes only, For additional features (live capture, multiplatform support,
+multiprocessing, ML based classification, system visibility, etc.), please check nDPI based
+framework, [**NFStream**][nfstream].
+## License
+
+This project is licensed under the LGPLv3 License - see the [**License**][license] file for details.
+
+[license]: https://github.com/ntop/nDPI/blob/dev/COPYING
+[cffi]: https://cffi.readthedocs.io/en/latest/
+[pypy]: https://www.pypy.org/
+[nfstream]: https://github.com/nfstream/nfstream
+[ndpi_example]: https://github.com/ntop/nDPI/blob/dev/python/ndpi_example.py \ No newline at end of file