diff --git a/README.rst b/README.rst index 4ae6ea0..c7bde7a 100644 --- a/README.rst +++ b/README.rst @@ -1,21 +1,56 @@ -======================== -|nfstream_logo| nfstream -======================== +.. image:: https://github.com/aouinizied/nfstream/blob/master/docs/nfstream_logo.png + :scale: 100% + :align: left -|build| |doc| |download| |release| |python| |pypy| |platform| |license| +######## -nfstream is a flexible and lightweight network data analysis framework. +NFStream +######## -**nfstream main features** -* **Performance:** nfstream was designed to be fast with a small CPU and memory footprint. -* **Layer-7 visibility:** nfstream dissection is based on nDPI_ (~300 applications including Tor, Messenger, WhatsApp, etc.). +|release| |python| |pypy| |platform| |license| + +NFStream is a flexible and lightweight network data analysis framework. + + + + +.. list-table:: + :widths: 25 25 + :header-rows: 0 + + * - Build Status + - |build| + * - Documentation Status + - |doc| + * - Coverage + - |coverage| + * - Code Quality + - |quality| + * - Downloads + - |download| + + +**NFStream main features** + +* **Performance:** NFStream was designed to be fast with a small CPU and memory footprint. +* **Layer-7 visibility:** NFStream dissection is based on nDPI_ (~300 applications including Tor, Messenger, WhatsApp, etc.). +* **Flexibility:** add a flow feature in 2 lines as an NFPlugin_. +* **Machine Learning oriented:** add your trained model as an NFPlugin_. + + +NFStream is a flexible and lightweight network data analysis framework. + +**NFStream main features** + +* **Performance:** NFStream was designed to be fast with a small CPU and memory footprint. +* **Layer-7 visibility:** NFStream dissection is based on nDPI_ (~300 applications including Tor, Messenger, WhatsApp, etc.). * **Flexibility:** add a flow feature in 2 lines as an NFPlugin_. * **Machine Learning oriented:** add your trained model as an NFPlugin_. **Use** -* Dealing with a big pcap file and just want to aggregate it as network flows? nfstream make this path easier in few lines: +* Dealing with a big pcap file and just want to aggregate it as network flows? NFStream make this path easier in few lines: .. code-block:: python @@ -101,7 +136,7 @@ Binary installers for the latest released version are available: from source ^^^^^^^^^^^ -If you want to build nfstream on your local machine: +If you want to build NFStream on your local machine: .. code-block:: bash @@ -121,16 +156,16 @@ requests to us. Authors ======= -`Zied Aouini`_ (`aouinizied`_) created nfstream and `these fine people`_ +`Zied Aouini`_ (`aouinizied`_) created NFStream and `these fine people`_ have contributed. Ethics ======= -nfstream is intended for network data research and forensics. +NFStream is intended for network data research and forensics. Researchers and network data scientists can use these framework to build reliable datasets, train and evaluate network applied machine learning models. -As with any packet monitoring tool, nfstream could potentially be misused. +As with any packet monitoring tool, NFStream could potentially be misused. **Do not run it on any network of which you are not the owner or the administrator**. License @@ -141,7 +176,6 @@ This project is licensed under the GPLv3 License - see the License_ file for det .. |release| image:: https://img.shields.io/pypi/v/nfstream.svg :target: https://pypi.python.org/pypi/nfstream -.. |nfstream_logo| image:: https://github.com/aouinizied/nfstream/blob/master/docs/nfstream_logo.png .. |build| image:: https://travis-ci.org/aouinizied/nfstream.svg?branch=master :target: https://travis-ci.org/aouinizied/nfstream .. |python| image:: https://img.shields.io/badge/python-3.6+-blue.svg @@ -156,6 +190,10 @@ This project is licensed under the GPLv3 License - see the License_ file for det :target: https://travis-ci.org/aouinizied/nfstream .. |download| image:: https://img.shields.io/pypi/dm/nfstream.svg :target: https://pypistats.org/packages/nfstream +.. |coverage| image:: https://codecov.io/gh/aouinizied/nfstream/branch/master/graph/badge.svg + :target: https://codecov.io/gh/aouinizied/nfstream/ +.. |quality| image:: https://img.shields.io/lgtm/grade/python/github/aouinizied/nfstream.svg?logo=lgtm&logoWidth=18) + :target: https://lgtm.com/projects/g/aouinizied/nfstream/context:python .. _License: https://github.com/aouinizied/nfstream/blob/master/LICENSE .. _Contributing: https://github.com/aouinizied/nfstream/blob/master/CONTRIBUTING.rst diff --git a/docs/source/architecture.rst b/docs/source/architecture.rst index c136e35..fa907ad 100644 --- a/docs/source/architecture.rst +++ b/docs/source/architecture.rst @@ -9,7 +9,7 @@ Architecture A step by step walk through each process involved when performing flow monitoring is developed in this section. Our aim is to provide you with a reminder about how -things works in theory. Consequently, an easier understanding of nfstream features +things works in theory. Consequently, an easier understanding of NFStream features and implementation is possible. ****************** diff --git a/docs/source/conf.py b/docs/source/conf.py index 1bb4ebb..9edf886 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -17,7 +17,7 @@ # -- Project information ----------------------------------------------------- -project = 'nfstream' +project = 'NFStream' copyright = '2019, Zied Aouini' author = 'Zied Aouini' diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst index c85e1f7..c2db1ec 100644 --- a/docs/source/contributing.rst +++ b/docs/source/contributing.rst @@ -34,8 +34,8 @@ and "help wanted" is open to whoever wants to implement it. **Write documentation** -nfstream could always use more documentation, whether as part of the -official nfstream docs, in docstrings, or even on the web in blog posts, +NFStream could always use more documentation, whether as part of the +official NFStream docs, in docstrings, or even on the web in blog posts, articles, and such. **Submit feedback** @@ -53,9 +53,9 @@ If you are proposing a feature: Get started *********** -Ready to contribute? Here's how to set up nfstream for local development. +Ready to contribute? Here's how to set up NFStream for local development. -1. Fork the nfstream repo on GitHub. +1. Fork the NFStream repo on GitHub. 2. Clone your fork locally:: $ git clone git@github.com:your_name_here/nfstream.git diff --git a/docs/source/index.rst b/docs/source/index.rst index cc40016..e714fe2 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -8,16 +8,16 @@ :scale: 100% :align: left -######## +###################### -nfstream -######## -nfstream is a flexible and lightweight network data analysis framework. +NFStream Documentation +###################### +NFStream is a flexible and lightweight network data analysis framework. -**nfstream main features** +**NFStream main features** -* **Performance:** nfstream was designed to be fast with a small CPU and memory footprint. -* **Layer-7 visibility:** nfstream dissection is based on nDPI_ (~300 applications including Tor, Messenger, WhatsApp, etc.). +* **Performance:** NFStream was designed to be fast with a small CPU and memory footprint. +* **Layer-7 visibility:** NFStream dissection is based on nDPI_ (~300 applications including Tor, Messenger, WhatsApp, etc.). * **Flexibility:** add a flow feature in 2 lines as an NFPlugin_. * **Machine Learning oriented:** add your trained model as an NFPlugin_. @@ -28,7 +28,7 @@ nfstream is a flexible and lightweight network data analysis framework. installation architecture - usage + nfstream plugins contributing changelog diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 66020a3..3da6479 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -1,5 +1,5 @@ ################### -Installing nfstream +Installing NFStream ################### ************* @@ -25,7 +25,7 @@ Binary installers for the latest released version are available: **from source** -If you want to build nfstream on your local machine: +If you want to build NFStream on your local machine: .. code-block:: bash diff --git a/docs/source/usage.rst b/docs/source/nfstream.rst similarity index 96% rename from docs/source/usage.rst rename to docs/source/nfstream.rst index 3c450c3..9431ae1 100644 --- a/docs/source/usage.rst +++ b/docs/source/nfstream.rst @@ -1,10 +1,10 @@ -##### -Usage -##### +######## +NFStream +######## Dealing with a big pcap file and just want to aggregate it as network flows? -nfstream make this path easier in few lines: +NFStream make this path easier in few lines: .. code-block:: python @@ -88,7 +88,7 @@ NFFlow - Last packet timestamp in milliseconds. * - nfhash - int - - nfstream hash value for flow (not unique). + - NFStream hash value for flow (not unique). * - version - int - IP version. @@ -189,7 +189,7 @@ NFPacket - Packet size. * - nfhash - int - - nfstream hash value for packet (not unique). + - NFStream hash value for packet (not unique). * - ip_src - int - Source IP address int value. diff --git a/docs/source/plugins.rst b/docs/source/plugins.rst index a8441c2..c3b40ab 100644 --- a/docs/source/plugins.rst +++ b/docs/source/plugins.rst @@ -1,8 +1,8 @@ ################## -Extending nfstream +Extending NFStream ################## -nfstream is designed to be flexible and machine learning oriented. In the following section, we depict the use of NFPlugin +NFStream is designed to be flexible and machine learning oriented. In the following section, we depict the use of NFPlugin in both cases. .. code-block:: python @@ -82,5 +82,5 @@ Add trained model prediction def process(self, pkt, flow): if flow.packets ==3: flow.model_prediction = trained_model.predict_proba([flow.feat_1 , flow.feat_2 , flow.feat_3]) - # optionally we can force nfstream to immediately expires the flow + # optionally we can force NFStreamer to immediately expires the flow flow.expiration_id = -1