nDPId Docker Image for packet inspection
2.8K

A nDPId Docker Image for deep packet inspection. As described in nDPId README, we split the image into producer and consumer image for a more generic purpose. For the producer, the image starts the UNIX and UDP socket and nDPId respectively. Via environment variables, users can adapt the nDPId daemon and nDPIsrvd. As by now, we support all current nDPId parameters.
| Continuous Integration |
|
In order to run this container you'll need docker installed.
Pull images:
docker pull stefan96/heidpi-producer:main
docker pull stefan96/heidpi-consumer:main
Run producer and consumer separately from each other using UDP socket:
docker run -p 127.0.0.1:7000:7000 --net host stefan96/heidpi-producer:main
docker run -e HOST=127.0.0.1 --net host stefan96/heidpi-consumer:main
or use the docker-compose.yml:
docker-compose up
Additionally, you use a UNIX socket:
docker run -v ${PWD}/heidpi-data:/tmp/ --net host stefan96/heidpi-producer:main
docker run -v ${PWD}/heidpi-data:/tmp/ -v ${PWD}/heidpi-logs:/var/log -e UNIX=/tmp/nDPIsrvd-daemon-distributor.sock --net host stefan96/heidpi-consumer:main
| Variable | Type | Default |
|---|---|---|
INTERFACE | string | |
PORT | int | 7000 |
FLOW_ANALYSIS | int | 0 |
JA3_URL | string | |
SSL_SHA1_URL | string | |
TUNE_PARAM | string | |
PCAP_FILTER | string | |
NDPI_CUSTOM_PROTOCOLS | string | |
NDPI_CUSTOM_CATEGORIES | string | |
HOSTNAME | string |
For TUNE_PARAM, concatenate the subopts below like max-flows-per-thread=2024;max-idle-flows-per-thread=64;...
As derived from nDPId Tuning:
max-flows-per-thread (N, caution advised): affects max. memory usagemax-idle-flows-per-thread (N, safe): max. allowed idle flows which memory get's free'd after flow-scan-intervalmax-reader-threads (N, safe): amount of packet processing threads, every thread can have a max. of max-flows-per-thread flowsdaemon-status-interval (ms, safe): specifies how often daemon event status will be generatedcompression-scan-interval (ms, untested): specifies how often nDPId should scan for inactive flows ready for compressioncompression-flow-inactivity (ms, untested): the earliest period of time that must elapse before nDPId may consider compressing a flow that did neither send nor receive any dataflow-scan-interval (ms, safe): min. amount of time after which nDPId will scan for idle or long-lasting flowsgeneric-max-idle-time (ms, untested): time after which a non TCP/UDP/ICMP flow will time outicmp-max-idle-time (ms, untested): time after which an ICMP flow will time outudp-max-idle-time (ms, caution advised): time after which an UDP flow will time outtcp-max-idle-time (ms, caution advised): time after which a TCP flow will time outtcp-max-post-end-flow-time (ms, caution advised): a TCP flow that received a FIN or RST will wait that amount of time before flow tracking will be stopped and the flow memory free'dmax-packets-per-flow-to-send (N, safe): max. packet-flow events that will be generated for the first N packets of each flowmax-packets-per-flow-to-process (N, caution advised): max. packets that will be processed by libnDPImax-packets-per-flow-to-analyze (N, safe): max. packets to analyze before sending an analyse event, requires -AThis project is licensed under the GPL-3.0 license - see the LICENSE.md file for details.
Content type
Image
Digest
sha256:240e19658…
Size
8.3 MB
Last updated
10 months ago
docker pull stefan96/heidpi-producer