Yusuf Khasbulatov
3 min readNov 20, 2021

In this post I’ll cover the ntopng setup inside Docker container that runs on the Synology DS920+.

ntopng helps us analyze and explore traffic through a web interface. It works on Linux, Windows and MacOS. However, our goal is not the traffic of our own machine, but all the traffic of our local network, and the “hidden” function of FRITZ!Box WiFi Router, which can trace the packets of the selected network interface, can help us.

You also can just download the trace and analyze it in wireshark. You can reach this functionality under: http://fritz.box/html/capture.html or going to: Contents>FRITZ!Box Support>Packet Traces.

Prepare Synology Docker ntopng container

Open the Docker application on your Synology NAS and search for ntop in the registry, then download the stable version ntopng image.

Choose ntop/ntopng:stabe under “Image” menu and click Lauch. In “General Settings” click on “Advanced Settings” than click on “Network” and make sure you check the checkbox “Use the same network as Docker Host”

You don’t need to change anything else, just click “Apply” and then it will build this image, then we’re going to load the fritzdump.sh script.
In “Container” menu choose ntopng container and click on “Details” then go to the “Terminal” tab and create new terminal by clicking on “Create”

Since there is no text editor in this container, we first install vim and then download the fritzdump.sh script from GitHub using wget

https://carbon.now.sh/

We need to change the fritzdump.sh script slightly. We’re going to remove passing arguments and add the values directly in the script, we also need to make sure that the wan interface is matching the actually interface in your FRITZ!Box Nas. So let’s start with two arguments in this script FRITZUSER and FRITZPWD

https://carbon.now.sh/

Now open that url http://fritz.box/html/capture.html and click “Inspect” on the Network Interfaces “Start” button that you’ll analyze.

In this case the value that we have to write in the fritzdump.sh script is 2–1, so change the value of IFACE if it is not correct. I also would recommend to change the FRITZIP from domain name to the IP-Address of your router in my case it is FRITZIP=http://192.168.178.1 . We’re almost done! You should find in the root directory of the ntopng container file run.sh open it and change it as follows:

https://carbon.now.sh/

Stop and then start the ntopng Docker container, and if you have done everything correctly, you should be able to find the ntopng administrator interface under the IP address of your Synology NAS, followed by port 3000, for example http://192.168.178.5:3000.

I hope this guide helps, I tried to summarize the different information on the internet since I couldn’t find anything about how to do this on a Synology NAS.