nDPI/doc/configuration_parameters.md

5.3 KiB

Configuration knobs

TODO

Protocol Parameter Default value Min value Max value Description Notes
NULL "packets_limit_per_flow" 32 0 255 The upper limit on the number of packets per flow that will be subject to DPI, after which classification will be considered complete (0 = no limit)
NULL "flow.direction_detection.enable" 1 NULL NULL Enable/disable internal detection of packet direction (client to server or server to client)
NULL "flow_risk_lists.load" 1 NULL NULL Enable/disable loading of every IP addresses lists used to check any flow risks
NULL "flow_risk.anonymous_subscriber.list.icloudprivaterelay.load" 1 NULL NULL Enable/disable loading of internal iCouldPrivateRealy IP address list used to check NDPI_ANONYMOUS_SUBSCRIBER flow risk
NULL "flow_risk.anonymous_subscriber.list.protonvpn.load" 1 NULL NULL Enable/disable loading of internal IP address list of ProtonVPN exit nodes used to check NDPI_ANONYMOUS_SUBSCRIBER flow risk
NULL "flow_risk.crawler_bot.list.load" 1 NULL NULL Enable/disable loading of internal IP address list used to check NDPI_HTTP_CRAWLER_BOT flow risk
NULL "filename.config" NULL NULL NULL Name of the file containing a list of configuration knobs itself (one per line)!. Useful to configure nDPI via text file instead of via API
NULL "lru.$CACHE_NAME.size" See description 0 16777215 Set the size (in number of elements) of the specified LRU cache (0 = the cache is disabled). The keyword "$CACHE_NAME" is a placeholder for the cache name and the possible values are: ookla, bittorrent, zoom, stun, tls_cert, mining, msteams, stun_zoom. The default value is "32768" for the bittorrent cache, "512" for the zoom cache and "1024" for all the other caches
NULL "lru.$CACHE_NAME.ttl" See description 0 16777215 Set the TTL (in seconds) for the elements of the specified LRU cache (0 = the elements never explicitly expire). The keyword "$CACHE_NAME" is a placeholder for the cache name and the possible values are: ookla, bittorrent, zoom, stun, tls_cert, mining, msteams, stun_zoom. The default value is "120" for the ookla cache, "60" for the msteams and stun_zoom caches and "0" for all the other caches
"tls" "application_blocks_tracking.enable" 0 NULL NULL Enable/disable processing of TLS Application Blocks (post handshake) to extract statistical information about the flow
"tls" "metadata.sha1_fingerprint.enable" 1 NULL NULL Enable/disable computation and export of SHA1 fingerprint for TLS flows. Note that if it is disable, the flow risk NDPI_MALICIOUS_SHA1_CERTIFICATE is not checked
"smtp" "tls_dissection.enable" 1 NULL NULL Enable/disable dissection of TLS packets in cleartext SMTP flows (because of opportunistic TLS, via STARTTLS msg)
"imap" "tls_dissection.enable" 1 NULL NULL Enable/disable dissection of TLS packets in cleartext IMAP flows (because of opportunistic TLS, via STARTTLS msg)
"pop" "tls_dissection.enable" 1 NULL NULL Enable/disable dissection of TLS packets in cleartext POP flows (because of opportunistic TLS, via STARTTLS msg)
"ftp" "tls_dissection.enable" 1 NULL NULL Enable/disable dissection of TLS packets in cleartext FTP flows (because of opportunistic TLS, via AUTH TLS msg)
"stun" "tls_dissection.enable" 1 NULL NULL Enable/disable dissection of TLS packets multiplexed into STUN flows
"ookla" "aggressiveness", 0x01 0x00 0x01 Detection aggressiveness for Ookla. The value is a bitmask. Values: 0x0 = disabled; 0x01 = enable heuristic for detection over TLS (via Ookla LRU cache)
$PROTO_NAME "ip_list.load" 1 NULL NULL Enable/disable loading of internal list of IP addresses (used for (sub)classification) specific to that protocol. Use "any" as protocol name if you want to easily enable/disable all lists. This knob is valid only for the following protocols: Alibaba, Amazon AWS, Apple, Avast, Bloomberg, Cachefly, Cloudflare, Discord, Disney+, Dropbox, Edgecast, EpicGames, Ethereum, Facebook, Github, Google, Google Cloud, GoTo, Hotspot Shield, Hulu, Line, Microsoft 365, Microsoft Azure, Microsoft One Drive, Microsoft Outlook, Mullvad, Netflix, Nvidia, OpenDNS, ProtonVPN, RiotGames, Roblox, Skype/Teams, Starcraft, Steam, Teamviewer, Telegram, Tencent, Threema, TOR, Twitch, Twitter, UbuntuONE, VK, Yandex, Yandex Cloud, Webex, Whatsapp, Zoom