
12_tribes - Fotolia
Sniffnet: Netzwerkverkehr grafisch in Echtzeit analysieren
Sniffnet ist ein Open-Source-Tool zur Überwachung des Netzwerkverkehrs mit grafischer Oberfläche, Protokollerkennung, Filterfunktion und PCAP-Export für Linux und Windows.
Sniffnet ist ein plattformübergreifendes Open-Source-Tool zur Echtzeitüberwachung von Netzwerkverbindungen. Die Anwendung wird vollständig mit der Programmiersprache Rust entwickelt, bietet eine grafische Oberfläche auf Basis von iced und legt den Fokus auf einfache Bedienbarkeit bei gleichzeitig hoher Aussagekraft.
Sniffnet steht unter MIT- und Apache-2.0-Lizenz, ist quelloffen über GitHub verfügbar und eignet sich sowohl für sicherheitsbewusste Privatanwender als auch für den professionellen Einsatz in IT-Infrastrukturen.
Sniffnet hat den Vorteil, dass Sie das Tool in Windows, Linux und macOS nutzen können. Die Downloads finden Sie hier. Das macht den Einsatz sehr flexibel. Unter Windows setzt Sniffnet die Installation von Npcap voraus, da nur darüber ein direkter Zugriff auf den Netzwerkverkehr möglich ist. Npcap stellt die libpcap-kompatible Erfassungsbasis für Windows-Systeme bereit und erlaubt es Sniffnet, Pakete direkt vom Netzwerkadapter abzugreifen.
Scanvorgang starten
Nach dem Start des Tools erfolgt zuerst die Auswahl des Adapters, auf dem das Tool nach Daten im Netzwerk lauschen soll. Sobald ein Netzwerkadapter ausgewählt und der Scan gestartet wurde, wechselt Sniffnet in die Überwachungsansicht. Der Bildschirm gliedert sich in mehrere funktionale Zonen, die jeweils unterschiedliche Aspekte der Netzwerkanalyse abdecken. Alle Elemente sind unmittelbar reaktiv und aktualisieren sich live.

Einmal gestartet, liefert Sniffnet ein unmittelbares Abbild sämtlicher aktiver Netzwerkverbindungen des Hosts. Besonders hilfreich ist die Anzeige bei Systemen mit mehreren gleichzeitigen Anwendungen. Läuft im Hintergrund etwa ein automatisches Cloud-Backup oder aktualisiert sich eine Flatpak-Anwendung, erscheinen mehrere parallele Verbindungen zu externen Hosts, jeweils mit aufgelöstem Domainnamen, Ports, Länderkürzel, ASN-Information und einem Zähler für empfangene und gesendete Bytes.

So lässt sich unter anderem prüfen, ob ein Mail-Client tatsächlich nur mit dem definierten SMTP- und IMAP-Server kommuniziert oder ob zusätzliche Verbindungen zu Analyse- oder Telemetrie-Diensten bestehen. Werden etwa beim Start von Firefox sofort mehrere Verbindungen zu Google- oder Amazon-CDNs sichtbar, lässt sich durch Klick auf die Verbindungszeile der vollständige Kommunikationsverlauf einsehen, inklusive der Zahl der übertragenen Pakete, des genutzten Transports (meist TCP) und der geographischen Auflösung.

Wird in der Filteransicht gezielt nur TCP aktiviert und alle anderen Protokolle deaktiviert, beschränkt sich Sniffnet auf klassische Dienste wie HTTPS, IMAP, FTP oder SSH. Wer hingegen UDP isolieren möchte, etwa zur Analyse von DNS-Traffic oder VoIP-Sessions, deaktiviert alle anderen Protokolle und filtert zusätzlich nach Port 53 oder 5060. Sniffnet zeigt dann ausschließlich diese Pakete samt Host-Details und Herkunftsland.
Systematische Portanalyse über Filterkombinationen
Für gezielte Tests lässt sich Sniffnet auch zur Verbindungsüberwachung einzelner Ports nutzen. Ein typisches Szenario: Ein Entwickler betreibt auf einem Testsystem unter 10.0.12.45 einen lokalen Webserver auf Port 8080. Um zu überprüfen, ob externe Anwendungen tatsächlich auf diesen Port zugreifen, lässt sich ein Filter mit der Zieladresse 10.0.12.45 und Port 8080 setzen. Sobald ein Client den Dienst kontaktiert, erscheint die Verbindung inklusive Quelladresse, Transportprotokoll und übertragener Byteanzahl.
Alternativ kann über einen Portbereich (zum Beispiel 0 bis1024) auch ein Überblick über Systemdienste gewonnen werden. Während ein einfacher netstat-Befehl lediglich aktive Sockets zeigt, liefert Sniffnet zusätzlich die Kommunikationspartner, inklusive externer Domains oder lokaler Container-Interfaces.
Kontrolle auf Anwendungsebene: DNS, mDNS, NetBIOS
Sniffnet identifiziert nicht nur IP-Adressen und Ports, sondern benennt auch die Protokolle, so weit diese aus der Paketstruktur erkennbar sind. In lokalen Netzen mit Windows- oder Samba-Systemen treten in der Regel NetBIOS (Port 137 bis139), mDNS (Port 5353) und gelegentlich auch LLMNR (Port 5355) auf. Wird der Netzwerkadapter aktiv überwacht, erscheinen diese Protokolle sofort nach dem Systemstart oder bei der Anmeldung eines Clients im Netz.
Gerade in Testumgebungen lässt sich so kontrollieren, ob Systeme ungewollt Namensauflösung oder Service-Discovery im Netz betreiben. Wer etwa sicherstellen möchte, dass ein System ausschließlich DNS über einen definierten Resolver nutzt, kann NetBIOS und mDNS in der Filteranzeige blockieren und beobachten, ob dennoch UDP-Datenverkehr auf unerwünschten Ports auftritt.
Ein praktischer Kontrollfall: Ein Ubuntu-Client meldet nach dem Bootvorgang Verbindungen zu 224.0.0.251 und 239.255.255.250, Multicast-Adressen für mDNS und SSDP. Sniffnet zeigt die Pakete sofort an und macht sichtbar, welche davon versucht werden zu annoncieren. Auf diese Weise lassen sich Fehlkonfigurationen oder überflüssige Hintergrunddienste aufdecken.
Verbindungsauswertung und Berichtsgenerierung im Betrieb
Während der Traffic-Analyse erzeugt Sniffnet nicht nur Live-Diagramme, sondern kann bei Bedarf einen vollständigen Textbericht schreiben. Der Button Open Full Report erstellt eine Datei report.txt, die in tabellarischer Form sämtliche Verbindungen listet, inklusive Quell-/Ziel-IP, Protokoll, Anzahl der Pakete, Datenvolumen und verwendeter Ports. Dieser Bericht eignet sich nicht nur zur Protokollierung, sondern auch zur externen Weiterverarbeitung, etwa zur Analyse in eigenen Skripten.
Im praktischen Einsatz lassen sich so Verdachtsmomente verifizieren. Wird in einem Netzsegment plötzlich eine Verbindung zu einem externen Host mit hohem Trafficvolumen sichtbar, kann über den Report die genaue Kommunikation extrahiert, archiviert und später forensisch ausgewertet werden. Das ist besonders relevant in isolierten Umgebungen oder bei Betriebsbedingungen mit Air-Gap-Vorgabe, wo jede unerwünschte externe Kommunikation überprüft werden muss.
Die Kombination aus PCAP-Export und Textbericht erlaubt es außerdem, parallele Analysen mit Wireshark durchzuführen. Wird der Capture-Export aktiviert, schreibt Sniffnet während der Live-Beobachtung alle erfassten Pakete in eine standardkonforme PCAP-Datei. Der Dateiname lässt sich ändern, der Speicherort ist konfigurierbar. Da dabei der vollständige Paketinhalt gespeichert wird, sollte diese Funktion nur gezielt eingesetzt werden, im Testumfeld mit hohem Traffic kann das Dateivolumen schnell im Gigabyte-Bereich liegen.
Geräteübergreifende Aktivitätserkennung im Subnetz
In einem typischen Subnetz lassen sich mit Sniffnet nicht nur Verbindungen des lokalen Hosts sichtbar machen, sondern auch indirekt andere aktive Teilnehmer identifizieren. Wird auf einem Client ein Broadcast oder Multicast registriert, zeigt Sniffnet dessen Ursprung samt Zieladresse. So lässt sich erkennen, wenn etwa ein Drucker über SSDP seine Dienste bekannt gibt oder ein Windows-System über NetBIOS oder WS-Discovery erreichbar gemacht wird.
Durch gezielte Filterung lässt sich nachvollziehen, welche Systeme im gleichen Netzsegment aktiv sind, welche Dienste sie bereitstellen und wie häufig diese Anfragen versenden. Gerade in Segmenten ohne Switch-Port-Sicherheit oder mit älteren IoT-Geräten kann diese passive Analyse helfen, Geräte mit ungewöhnlichem Verhalten zu isolieren.
Erweiterte Benachrichtigungsszenarien mit Schwellenwerten
Sniffnet erlaubt die Definition eigener Schwellenwerte, die bei Überschreitung zu einer Benachrichtigung führen. Aktiviert wird die Funktion über Settings/Notifications. Dabei lassen sich drei unabhängige Trigger definieren: eine Grenze für die Anzahl an Paketen pro Sekunde, ein Datenvolumen in Byte pro Zeitintervall und ein Ereignis bei neuer Aktivität mit einem als Favorit markierten Host.
Ein Beispiel: Im Rahmen eines Tests wird eine Verbindung zu 192.0.2.50 als Favorit markiert. Sobald von diesem Host neuer Traffic eintrifft, etwa durch einen Wake-on-LAN-Test oder den Zugriff eines Remote-Dienstes, wird die Benachrichtigung ausgelöst. Über die GUI lassen sich diese Events einsehen, protokollieren und bei Bedarf löschen.

Die Schwellenwerte lassen sich dabei auch in Kombination nutzen. So kann etwa für eine verdächtige IP-Adresse ein Schwellenwert von 5000 Paketen pro Minute gesetzt werden, sobald dieser überschritten wird, erfolgt ein Signalton und eine Protokollierung. Damit lässt sich Sniffnet auch zur Erkennung von DoS-artigem Verhalten oder Fehlkonfigurationen in Paketfiltern einsetzen.
Datenverkehr in Echtzeit
Die linke obere Ecke dder Sniffnet-Oberfläche zeigt eine Live-Grafik des aktuellen Netzwerkdurchsatzes. Der Benutzer kann zwischen zwei Anzeigemodi wechseln: Bytes zeigt das Datenvolumen, Packets die Anzahl übertragener Pakete pro Zeiteinheit. Eingehender Traffic wird in Orange, ausgehender in Blau dargestellt.
Diese Anzeige eignet sich auch, um Traffic-Spitzen zu erkennen, etwa bei plötzlichen Downloads, Streams oder automatischen Update-Prozessen. In Testumgebungen lässt sich hier auch die Wirkung von Drosselungen, QoS-Richtlinien oder Bandbreitenlimits sichtbar machen.
Im Bereich rechts von der Graph-Anzeige listet Sniffnet automatisch alle derzeit verwendeten Protokolle auf Anwendungsebene auf. Das umfasst typische Kandidaten wie HTTPS, DNS, QUIC, mDNS, NTP oder SMB. Die Protokolle werden erkannt, sobald die dazugehörigen Ports oder Muster im Netzwerkverkehr sichtbar werden. Wird etwa beim Booten ein Zugriff auf Port 443 sichtbar, aber zusätzlich auch UDP-Pakete auf Port 784 auftauchen, weist dies auf alternative Protokolle wie QUIC hin. Auch DNS-over-HTTPS oder DNS-over-TLS lassen sich auf diesem Weg indirekt erkennen, etwa durch das Fehlen klassischer DNS-Pakete bei gleichzeitigem HTTPS-Traffic zu bekannten Resolvern.
Im zentralen Bereich erscheint eine Liste sämtlicher erkannten Verbindungen. Jede Zeile enthält folgende Felder:
- Remote Host: Domainname (sofern auflösbar), IP-Adresse und optional ASN-Zuordnung
- Protocol: erkannter Dienst (zum Beipiel HTTPS, DNS, SSH)
- Country: Länderkennung der Gegenstelle (beispielsweise US, DE, RU)
- Packets: Anzahl der versendeten und empfangenen Pakete
- Bytes: übertragenes Volumen
- Timestamp: Zeitpunkt des Verbindungsbeginns
Diese Übersicht ist interaktiv. Durch Klick auf eine Spalte erfolgt eine sofortige Sortierung, zum Beispiel nach dem größtem Datenvolumen oder der Anzahl an Paketen. Wer etwa nach einem anormalen Download sucht, kann gezielt nach Datenvolumen sortieren und erhält den größten Transfer zuerst. Umgekehrt lässt sich erkennen, ob viele kleine Verbindungen bestehen, die möglicherweise auf Beaconing, Telemetrie oder P2P-Kommunikation hindeuten.
Detailansicht durch Inspektion
Ein Klick auf eine Verbindung öffnet die sogenannte Inspect-Ansicht. Hier zeigt Sniffnet weitere Informationen zur gewählten Verbindung:
- Quelle und Ziel mit vollständiger IP/Port-Kombination
- Transportprotokoll (TCP/UDP)
- Regionale Herkunft mit Flagge und Land
- Autonomous System Name (zum Beispiel Cloudflare, Akamai, Microsoft)
- Volumen getrennt nach Richtung
- Verlaufsdaten über die gesamte Dauer der Verbindung
Besonders interessant ist diese Ansicht in Verbindung mit interaktiver Nutzung: Wird ein Browser geöffnet, erscheinen sofort die zugehörigen HTTP- oder HTTPS-Verbindungen samt aller beteiligten Drittanbieter (etwa Tracker, CDN-Knoten, Werbedienste). Wer eine App startet, die unklaren Netzverkehr erzeugt, kann über diesen Weg herausfinden, welche Domains kontaktiert werden, aus welchem Land die Gegenstellen stammen und ob die Verbindung verschlüsselt ist oder nicht. Im erweiterten Überblick bietet Sniffnet eine gesonderte Ansicht der Netzwerkschnittstelle:
PCAP-Export und strukturierte Analyse
Sniffnet bietet über das Hauptmenü die Möglichkeit, eine vollständige Netzwerkerfassung im PCAP-Format durchzuführen. Diese Funktion ist standardmäßig deaktiviert, lässt sich aber vor dem Start der Erfassung über ein Häkchen aktivieren. Der Standardname lautet sniffnet.pcap, kann jedoch überschrieben werden, ebenso das Zielverzeichnis. Standardmäßig wird in das Home-Verzeichnis des Benutzers geschrieben. Nach Beendigung des Scans steht die Datei sofort für eine weiterführende Analyse mit Wireshark oder Tshark zur Verfügung.
Der Export deckt dabei alle vom Adapter erfassten Pakete ab, unabhängig von den aktuell aktiven Filtern in der GUI. Auch wenn in Sniffnet nur DNS und HTTPS angezeigt werden, landen ICMP, ARP oder SMB trotzdem in der PCAP-Datei, sofern sie tatsächlich am Interface ankommen. Das macht Sniffnet tauglich für strukturiertes Logging, gerade in isolierten Umgebungen, in denen kein Wireshark installiert werden darf.
CLI-Aufruf und Optionen
Auch wenn Sniffnet in erster Linie als GUI-Anwendung konzipiert ist, lässt es sich direkt über die Kommandozeile starten. Je nach Build kann dabei auch eine gezielte Konfiguration über Argumente erfolgen, etwa die Vorwahl eines Interfaces, der Start im minimierten Modus oder das direkte Aktivieren bestimmter Filter.
Für automatisierte Nutzung, zum Beispiel in einem Monitoring-Skript, bietet sich der Start mit gesetztem setcap an, sodass Root-Rechte nicht erforderlich sind. Ein typischer Ablauf könnte sein:
sudo setcap cap_net_raw,cap_net_admin=eip ~/.cargo/bin/sniffnet
sniffnet --start --interface=enp5s0 --filter=tcp,udp --export=~/sniffnet-session-$(date +%F).pcap
Damit lässt sich Sniffnet auch in Container-Umgebungen oder auf headless-Systemen als leichtgewichtiger Capture-Agent verwenden, ohne auf komplexe Tools wie tcpdump oder Wireshark zurückgreifen zu müssen. Auch wenn Sniffnet selbst keine Paketinhalte anzeigt, lässt sich die Kombination mit Tools wie Wireshark, Zeek oder Suricata nutzen, um tiefergehende Analysen durchzuführen.
Ein Beispiel: Sniffnet ermittelt in einer Testphase auffälligen Verkehr auf UDP-Port 1900. Über die Textdatei report.txt wird die Quelladresse extrahiert, etwa 10.0.11.38. Diese lässt sich nun mit Wireshark gezielt untersuchen:
wireshark -r sniffnet.pcap -Y "ip.addr == 10.0.11.38"
Alternativ kann mit tshark ein zeilenbasierter Bericht generiert werden:
tshark -r sniffnet.pcap -z io,stat,0,ip.addr==10.0.11.38
Damit wird Sniffnet zur Vorstufe einer strukturierten Analyse, insbesondere wenn Paketdaten nicht dauerhaft im Klartext gespeichert werden sollen.