You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on feedback from #81, it was not very clear what is the output of ipfixprobe when some output plugin is used.
The aim of this patch is to make the readme file more general - if a user enables some processing plugin (by `-p`), there are extended fields included in the output flow records. It works for `unirec`, `ipfix`, or `text` plugins.
There are several currently available output plugins, such as:
108
+
109
+
-`ipfix` standard IPFIX [RFC 5101](https://tools.ietf.org/html/rfc5101)
110
+
-`unirec` data source for the [NEMEA system](https://nemea.liberouter.org), the output is in the UniRec format sent via a configurable interface using [https://nemea.liberouter.org/trap-ifcspec/](https://nemea.liberouter.org/trap-ifcspec/)
111
+
-`text` output in human readable text format on standard output file descriptor (stdout)
112
+
113
+
The output flow records are composed of information provided by the enabled plugins (using `-p` parameter, see [Flow Data Extension - Processing Plugins](./README.md#flow-data-extension---processing-plugins)).
114
+
115
+
See `ipfixprobe -h output` for more information and complete list of output plugins and their parameters.
109
116
110
117
## Parameters
111
118
### Module specific parameters
@@ -154,11 +161,17 @@ Here are the examples of various plugins usage:
`ipfixprobe` can be extended by new plugins for exporting various new information from flow.
159
167
There are already some existing plugins that export e.g. `DNS`, `HTTP`, `SIP`, `NTP`, `PassiveDNS`.
160
168
169
+
To enable a plugin, add `-p` option with argument (it can be used multiple times). Each plugin provides a set of information described in section Output data.
170
+
171
+
See `ipfixprobe -h process` for more information and complete list of processing plugins and their parameters.
172
+
161
173
## Adding new plugin
174
+
162
175
To create new plugin use [process/create_plugin.sh](process/create_plugin.sh) script. This interactive script will generate .cpp and .h
163
176
file template and will also print `TODO` guide what needs to be done.
164
177
@@ -172,10 +185,16 @@ Turn off message buffering using `buffer=off` option and set `timeout=WAIT` on o
172
185
```
173
186
174
187
## Output data
188
+
189
+
The following sections describe set of information fields provided by the processing plugins.
190
+
The columns `Output field` and `Type` represent the name and type of UniRec elements (NEMEA output); however, the equivalent fields are exported in other output plugins as well --- e.g., in IPFIX format.
191
+
192
+
Note: to lookup IPFIX enterprise id and element id have a look into [header file](https://github.com/CESNET/ipfixprobe/blob/master/include/ipfixprobe/ipfix-elements.hpp#L85) with the mapping to IPFIX elements.
193
+
175
194
### Basic
176
195
Basic unirec fields exported on interface with basic (pseudo) plugin. These fields are also exported on interfaces where HTTP, DNS, SIP and NTP plugins are active.
| SMTP_2XX_STAT_CODE_COUNT | uint32 | number of 2XX status codes |
346
365
| SMTP_3XX_STAT_CODE_COUNT | uint32 | number of 3XX status codes |
@@ -408,9 +427,9 @@ The following table shows bit values of `SMTP\_STAT_CODE\_FLAGS` for each presen
408
427
409
428
### PSTATS
410
429
List of unirec fields exported on interface by PSTATS plugin. The plugin is compiled to gather statistics for the first `PSTATS_MAXELEMCOUNT` (30 by default) packets in the biflow record.
411
-
Note: the following fields are UniRec arrays.
430
+
Note: the following fields are UniRec arrays (or basicList in IPFIX).
List of UniRec fields exported together with basic flow fields on the interface by BSTATS plugin.
560
+
List of fields exported together with basic flow fields on the interface by BSTATS plugin.
542
561
The plugin is compiled to export the first `BSTATS_MAXELENCOUNT` (15 by default) burst in each direction.
543
562
The bursts are computed separately for each direction. Burst is defined by `MINIMAL_PACKETS_IN_BURST` (3 by default) and by `MAXIMAL_INTERPKT_TIME` (1000 ms by default) between packets to be included in a burst.
0 commit comments