Skip to content

Commit 997c269

Browse files
committed
Update documentation.
1 parent 3ea0342 commit 997c269

File tree

5 files changed

+33
-5
lines changed

5 files changed

+33
-5
lines changed

docs/api.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ until flow expiration is triggered (active timeout, inactive timeout).
3333

3434
```python
3535
from nfstream import NFStreamer
36-
my_streamer = NFStreamer(source="facebook.pcap",
36+
my_streamer = NFStreamer(source="facebook.pcap", # or network interface
3737
decode_tunnels=True,
3838
bpf_filter=None,
3939
promiscuous_mode=True,
@@ -46,7 +46,10 @@ my_streamer = NFStreamer(source="facebook.pcap",
4646
statistical_analysis=False,
4747
splt_analysis=0,
4848
n_meters=0,
49-
performance_report=0)
49+
max_nflows=0,
50+
performance_report=0,
51+
system_visibility_mode=0,
52+
system_visibility_poll_ms=100)
5053
```
5154

5255
### NFStreamer attributes
@@ -63,8 +66,11 @@ my_streamer = NFStreamer(source="facebook.pcap",
6366
| `n_dissections` | `[default=20]` | Number of per flow packets to dissect for L7 visibility feature. When set to 0, L7 visibility feature is disabled. |
6467
| `statistical_analysis` | `[default=False]` | Enable/Disable post-mortem flow statistical analysis. |
6568
| `splt_analysis` | `[default=0]` | Specify the sequence of first packets length for early statistical analysis. When set to 0, splt_analysis is disabled. |
69+
| `max_nflows` | `[default=0]` | Specify the number of maximum flows to capture before returning. Unset when equal to 0. |
6670
| `n_meters` | `[default=0]` | Specify the number of parallel metering processes. When set to 0, NFStreamer will automatically scale metering according to available physical cores on the running host. |
6771
| `performance_report` | `[default=0]` | [**Performance report**](https://github.com/nfstream/nfstream/blob/master/assets/PERFORMANCE_REPORT.md) interval in seconds. Disabled when set to 0. Ignored for offline capture. |
72+
| `system_visibility_mode` | `[default=0]` | Enable system process mapping by probing the host machine. |
73+
| `system_visibility_poll_ms` | `[default=100]` | Set the polling interval in milliseconds for system process mapping feature (0 is the maximum achievable rate). |
6874

6975
### NFStreamer methods
7076

@@ -87,12 +93,13 @@ my_dataframe.head()
8793
#### CSV file conversion
8894

8995
```python
90-
total_flows_count = my_streamer.to_csv(path=None, columns_to_anonymize=[], flows_per_file=0)
96+
total_flows_count = my_streamer.to_csv(path=None, columns_to_anonymize=[], flows_per_file=0, rotate_files=0)
9197
```
9298

9399
| `path` | `[default=None]` | Specify output path of csv resulting file. When Set to None, NFStream uses source as path and add a '.csv' extension to it. |
94100
| `flows_per_file` | `[default=0]` | Specify maximum flows per generated file. Each generated file name will be appended by the chunk index. This limit is disabled when set to 0. |
95101
| `columns_to_anonymize` | `[default=[]]` | List of columns names to anonymize. Anonymization is based on a random secret key generation at each start of NFStreamer. The generated key is used to anonymize configured values using blake2b algorithm. |
102+
| `rotate_files` | `[default=0]` | Number of rotating files to limit disk storage usage. Example: NFstream started with flows per file `1000` and rotate_files `5` will force NFStreamer to overwrite file 0 when it reached 5000 flows.
96103

97104
## NFlow
98105

@@ -203,6 +210,11 @@ In the following we detail each implemented feature.
203210
| `splt_ps` | `list` | List of N (splt_analysis=N) first flow packet sizes (depends on accounting_mode, -1 when there is no packet).|
204211
| `splt_piat_ms` | `list` | List of N (splt_analysis=N) first flow packet inter arrival times (always 0 for first packet, -1 when there is no packet).|
205212

213+
#### System Visibility Features (system_visibility_mode=1)
214+
215+
| `process_name` | `str` | Name of the host process that generated the flow.|
216+
| `process_pid` | `int` | PID of the host process that generated the flow .|
217+
206218
## NFPlugin
207219

208220
### NFPlugin prototype

docs/index.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ across experiments.
2727
* **Encrypted layer-7 visibility:** NFStream deep packet inspection is based on [**nDPI**][ndpi].
2828
It allows NFStream to perform [**reliable**][reliable] encrypted applications identification and metadata
2929
fingerprinting (e.g. TLS, SSH, DHCP, HTTP).
30+
* **System visibility:** NFStream probes the monitored system's kernel to obtain information on open Internet sockets
31+
and collects guaranteed ground-truth (process name, PID, etc.) at the application level.
3032
* **Statistical features extraction:** NFStream provides state of the art of flow-based statistical feature extraction.
3133
It includes both post-mortem statistical features (e.g. min, mean, stddev and max of packet size and inter arrival time)
3234
and early flow features (e.g. sequence of first n packets sizes, inter arrival times and
@@ -64,6 +66,17 @@ sudo apt-get install libusb-1.0-0-dev libdbus-glib-1-dev libbluetooth-dev libnl-
6466
brew install autoconf automake libtool pkg-config gettext json-c
6567
```
6668

69+
### Windows Prerequisites
70+
71+
On Windows, NFStream build system is based MSYS2. Please follow [**msys2 installation guide**][msys2] before moving to
72+
the next steps.
73+
74+
```bash
75+
pacman -S git unzip mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool make mingw-w64-x86_64-json-c mingw-w64-x86_64-crt-git
76+
```
77+
78+
Note that you will also need to have npcap installed according to [**these instructions**][npcap].
79+
6780
### Build NFStream
6881

6982
```bash
@@ -79,3 +92,5 @@ python3 -m pip install .
7992
[reliable]: http://people.ac.upc.edu/pbarlet/papers/ground-truth.pam2014.pdf
8093
[pypy]: https://www.pypy.org/
8194
[cffi]: https://cffi.readthedocs.io/en/latest/index.html
95+
[msys2]: https://www.msys2.org/
96+
[npcap]: https://npcap.com/guide/npcap-users-guide.html

index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ <h2>Machine learning oriented</h2>
105105
<div class="lp-center lp-section-container">
106106
<div class="lp-col lp-col-left">
107107
<h2>Multiplatform support</h2>
108-
<p>NFStream is currently supported on major Linux distributions, MacOS and ARM (64bits) based platforms.
108+
<p>NFStream is currently supported on major Linux distributions, MacOS and Windows.
109109
You can install pre-built wheels for each platform using pip or build it from source.
110110
</p>
111111
<a href="{{ site.baseurl }}/docs/#installation-guide" class="btn btn-blue fs-5 mb-3 mb-md-5">View Installation Guide</a>
@@ -141,12 +141,13 @@ <h3>Supporting Organizations</h3>
141141
<img src="{{ site.baseurl }}{{ site.logo_sah }}" width="{{ site.logo_width }}" height="57">
142142
<img src="{{ site.baseurl }}{{ site.logo_tuke }}" width="{{ site.logo_width }}" height="57">
143143
<img src="{{ site.baseurl }}{{ site.logo_ntop }}" width="{{ site.logo_width }}" height="57">
144+
<img src="{{ site.baseurl }}{{ site.logo_nmap }}" width="{{ site.logo_width }}" height="57">
144145
</ul>
145146
</div>
146147
</div>
147148
<div class="lp-footer-section lp-footer-copyright">
148149
<img src="{{ site.baseurl }}{{ site.logo_source }}" width="{{ site.logo_width }}" height="57" >
149-
<p>Copyright © 2021 NFStream Developers</p>
150+
<p>Copyright © 2022 NFStream Developers</p>
150151
</div>
151152
</footer>
152153
</div>

resources/logo_nmap.png

39.8 KB
Loading

resources/platforms.png

-7.21 KB
Loading

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy