Ntopng ermöglicht Ihnen einen detaillierten Überblick über die Vorgänge im LAN. Damit lassen sich sogar Angriffe auf das Netzwerk ermitteln.
Wollten Sie schon immer einmal wissen, welche Geräte sich gerade in Ihrem heimischen Netzwerk befinden? Oder Angreifer identifizieren? Sich einen Überblick über den Netzwerkverkehr bezüglich der gängigsten Protokolle verschaffen, und wenn möglich über eine grafische Weboberfläche? Dann ist Ntopng [1] das richtige Tool für Sie. Genauso wie Sie Top zur Messung der Systemlast benutzen, verwenden Sie Ntopng zum Beobachten des Netzwerkverkehrs. In diesem Artikel lesen Sie, wie Sie Ntopng einrichten und das Netzwerk überwachen.
Installation
Mittlerweile liegt Ntopng in der aktuellsten Fassung in Version 3.1 vor, die Raspbian-Paketquellen dagegen führen bislang nur die Version 2.4. Es empfiehlt sich daher, den Server des Ntopng-Projekts in die sources.list
einzutragen und Ntopng mit dem gewohnten Systemwerkzeug Apt zu installieren (Listing 1, Zeile 1 bis 6).
Anschließend richten Sie das Programm als Hintergrundprozess ein (Zeile 7). Um es sofort zu verwenden und nicht bis zum nächsten Reboot warten zu müssen, starten Sie Ntopng manuell (Zeile 8).
Listing 1
$ wget http://packages.ntop.org/apt/ntop.key $ sudo apt-key add ntop.key $ echo "deb http://apt.ntop.org/stretch_pi armhf/" | sudo tee -a /etc/apt/sources.list $ echo "deb http://apt.ntop.org/stretch_pi all/" | sudo tee -a /etc/apt/sources.list $ sudo apt update $ sudo apt install ntopng nprobe $ sudo systemctl enable ntopng $ sudo systemctl start ntopng
Anschließend geben Sie den Befehl hostname
ein, um den vollständigen Domainnamen zu ermitteln. Auf die Weboberfläche gelangen Sie dann über die URL http://Hostname:3000
. Nach dem Aufruf der URL fordert Ntopng Sie auf, sich anzumelden. Dazu nutzen Sie den Benutzernamen admin und das gleichlautende Passwort.
Falls Sie beispielsweise den Port ändern oder ein Präfix nach dem Hostnamen verwenden wollen, tragen Sie diese Optionen in der Konfigurationsdatei /etc/ntopng/ntopng.conf
ein. Auf der fünften Seite des Benutzerhandbuchs finden Sie die wichtigsten Optionen [2].
Darüber hinaus lässt sich das Verhalten von Ntopng über den Webclient konfigurieren. Dazu klicken Sie rechts oben auf das Einstellungssymbol. Im Untermenü Preferences können Sie beispielsweise anpassen, was das System alles protokollieren soll. Zudem lassen sich im Untermenü Manage Users Benutzerkonten hinzufügen oder ändern.
Hunger nach Ressourcen
Im Betrieb verbraucht Ntopng auf einem Raspberry Pi rund ein Viertel der CPU-Leistung und 60 MByte Arbeitsspeicher. Aus diesem Grund sollte auf dem RasPi anderweitig nicht allzu viel los sein, da Ntopng die Daten sonst nicht schnell genug verarbeitet. Abhilfe schafft da eine Swap-Partition, die Sie mit einem Partitionierungswerkzeug wie Gnome Disk Utility einrichten [3]. Darüber hinaus gibt es die Möglichkeit, eine sogenannte Swap-Datei zu erstellen.
Eine solche Datei ersetzt eine Swap-Partition und erfüllt denselben Zweck: Wird der Arbeitsspeicher knapp, lagert Linux nicht benötigte Daten in den Swap-Space aus, um den freien Arbeitsspeicher zu erhöhen. Listing 2 zeigt, wie Sie eine 1 GByte große Swap-Datei im Root-Ordner des Systems erstellen – Sie können auch einen anderen Pfad wählen. Damit das System die Datei automatisch mountet, tragen Sie die Swap-Datei zu guter Letzt noch in /etc/fstab
ein (letzte Zeile).
Listing 2
$ sudo fallocate -l 1GB /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile Setting up swapspace version 1, size = 953.7 MiB (999993344 bytes) no label, UUID=99e37c87-7604-43d4-b5c0-283657667325 $ sudo swapon /swapfile $ free -mh total used free shared buff/cache available Mem: 927M 110M 403M 23M 413M 740M Swap: 1.0G 0B 1.0G $ echo "/swapfile none swap defaults 0 0" | sudo tee -a /etc/fstab
Zusätzlich lässt sich Arbeitsspeicher auf dem RasPi freischaufeln, indem Sie die grafische Oberfläche abschalten und den Mini-Rechner nur bis zum Konsolen-Prompt hochfahren. Dazu geben Sie auf der Konsole den Befehl sudo raspi-config
ein und wählen unter 3**Boot Options | B1**Desktop**/**CLI den Eintrag B1**Console oder B2**Console Autologin aus. Alternativ installieren Sie Raspbian gleich in der Lite-Version, komplett ohne GUI.
Dashboard
Nach dem erfolgreichen Login öffnet sich die Startseite, auf der Sie ein Dashboard mit den aktuellsten Datenflüssen sehen (Abbildung 1). Es handelt sich hierbei um den Datenaustausch zwischen Client (linke Seite) und Server (rechte Seite). Bei mehreren Datenflüssen stellt Ntopng diese in unterschiedlichen Farben dar. Im unteren Bereich sehen Sie die Empfangs- und Senderaten der ausgewählten Schnittstelle. Links davon zeigt der Ladebalken die Auslastung der Netzwerkschnittstelle an.
Darüber hinaus erscheinen links unten der Benutzername, mit dem Sie sich angemeldet haben, sowie die Schnittstelle, auf der Ntopng gerade lauscht. Zudem blendet Ntopng rechts unten die Zahl der Hosts ein, gruppiert nach Remote Hosts, Local Hosts und der zweiten Schicht L2 des OSI-Referenzmodells.
Klicken Sie in der interaktiven Weboberfläche auf die Datenflüsse oder andere Statistiken, erhalten Sie zusätzliche Informationen. So erfahren Sie als Anwender durch einen Doppelklick auf einen der Top-Datenflüsse, über welches Protokoll die Verbindung zwischen Server und Client abläuft (Abbildung 2).
Mit dem Strom gehen
Im Hauptmenü Flows stellt Ntopng detailliert die Verbindung zwischen Client und Server dar. So listet das System neben dem Protokoll der Anwendungsschicht weitere Details auf wie beispielsweise das L4-Protokoll. Bei Protokollen wie HTTP, die zusätzlich einen Port benötigen, um die Verbindung als einmalig zu kennzeichnen, zeigt Ntopng diesen ebenfalls an.