ntopng is a network probe that shows network usage in a way similar to what top does for processes. It acts as a Web server, creating an HTML dump of the network status. It is a successor to ntop, which is discontinued. Main differences seem to be: a. No terminal interface present. Only web. b. No built-in flow collector, at least not for NetFlow or sFlow. When installing ntopng, pay attention to the following: 1. UID/GID ntopng needs to run under its own user/group. This has been assigned to the following by SlackBuilds.org, but feel free to change it on your system for consistency with local assignments. User: ntopng UID: 212 GID: 212 group: ntopng GID: 212 You can change pass alternate values for the user and group using NTOPUSER and NTOPGROUP variables when running the build script. The build script will suggest creating these groups if they are not present. 2. Log rotation. Logs are placed in /var/log/ntopng/ and will be rotated every week. The log rotation will restart the ntopng server which will reset the ntopng statistics. If you want to keep the statistics you have to edit or delete the /etc/logrotate.d/ntopng file. 3. Flow collection ntopng now uses a custom flow collection format, based on zeromq. To convert a standard NetFlow or sFlow into this format, the developer suggess bying their commercial tool called nProbe. However, there exists a free software flow collection (supporting only) NetFlowV9, called netflow2ng. It is not available on SBo, but there is an unfinished SlackBuild for it, which can be found on https://gitlab.com/Lockywolf/lwfslackbuilds/-/raw/master/\ 10_unfit-for-sbo-require-network/netflow2ng/\ netflow2ng.SlackBuild?ref_type=heads 4. Geoidentification and dynamic data ntopng depends on some dynamic data in order to display relevant information about the flows. a. Geographical distribution of IP addresses. ntopng can use both maxmind, and db-ip information, both free-low-quality, and paid-high-quality. Maxmind data can be updated by running geoipupdate from cron on a weekly basis. These data are usually installed globally, into /var/lib/GeoIP/. For more information, consult doc/README.geolocation.md, and keep in mind that ntopng-data does not exist on Slackware, but geoipupdate does. b. Various lists: 'Abuse.ch URLhaus' [https://urlhaus.abuse.ch/downloads/hostfile/] 'Emerging Threats' [https://rules.emergingthreats.net/fwrules/\ emerging-Block-IPs.txt] 'NoCoin Filter List' [https://raw.githubusercontent.com/hoshsadiq/\ adblock-nocoin-list/master/hosts.txt] 'SSLBL Botnet C2 IP Blacklist' [https://sslbl.abuse.ch/blacklist/\ sslipblacklist.txt] 'Stratosphere Lab' [https://mcfp.felk.cvut.cz/publicDatasets/\ CTU-AIPP-BlackList/Todays-Blacklists/\ AIP_historical_blacklist_prioritized_by_newest_attackers.csv] 'ThreatFox' [https://threatfox.abuse.ch/downloads/hostfile/] 'dshield 7 days' [https://raw.githubusercontent.com/firehol/\ blocklist-ipsets/master/dshield_7d.netset] Those lists are updated automatically by ntopng, periodically. There is a configuration option to disable these updates. 5. nDPI ntopng depends on nDPI, a Deep Packet Inspection library. SBo has a SlackBuild for nDPI, however, in recent versions ntopng prefers to use its own version of nDPI, linked-in statically. If you find that the built-in version deviates in features from the standalone one, you are welcome to report this. 6. redis ntopng requires redis. The version on SBo is enough, but it needs to be running before ntopng can be started. 7. ntopng crashes when started as a daemon. I am not sure why. The initscript at the moment just starts it in the background and disowns. ntopng also does not terminate on sigterm normally, hence the rc script kill-9's it. If you have better ideas, submit a patch to the slackbuild. Due to all this stupidities, rc.ntopng is a .new script, so it will not be overwritten on upgrade. We really need a better version. 8. ntopng goes insane when it sees "virtual ethernets" that are usually created to communicate between network namespaces. Do not be surprised if weird effect appear, and possibly remove those virtual ethernets from the listening list.