
❄️ PcapXray - Ein Netzwerkforensik-Tool - Zur offline Visualisierung eines Paketmitschnitts als Netzwerkdiagramm einschließlich Geräteidentifikation, Hervorhebung wichtiger Kommunikation und Dateiextraktion
Ein Netzwerkforensik-Tool – visualisiert PCAP-Dateien oder Live-Traffic als annotiertes Netzwerkdiagramm mit Geräteidentifikation, Protokollklassifizierung, Tor-Erkennung und Markierung von bösartigem Traffic.

graph TD
UI[user_interface.py\nGUI controller] --> PR[pcap_reader\nFile + Live capture]
PR --> ENG[engines/\nauto · dpkt · scapy · pyshark]
PR --> MEM[(memory.py\nShared state)]
MEM --> CDF[communication_details_fetch\nDNS · whois]
MEM --> DDF[device_details_fetch\nOUI vendor lookup]
MEM --> TTH[tor_traffic_handle\nTor consensus]
MEM --> MTI[malicious_traffic_identifier\nHeuristic flags]
MEM --> SS[sqlite_store\nSession persistence]
MEM --> PLN[plot_lan_network\nGraphviz PNG + pyvis HTML]
UI --> IG[interactive_gui\nMatplotlib panel]
IG --> MEM
PLN --> OUT[Reports + Diagrams]Zeichne bei einer gegebenen PCAP-Datei oder einer Live-Netzwerkschnittstelle ein Netzwerkdiagramm, das Hosts, Verkehrsflüsse, wichtige/Tor/bösartige Kommunikation und die in jeder Sitzung ausgetauschten Daten anzeigt.
Erstelle ein Netzwerkdiagramm mit den folgenden Funktionen:
Tool-Highlights:
Hauptanwendungsfenster

Statischer Netzwerkgraph – natürliches Layout mit automatischer Zoom-Anpassung


Voraussetzungen: Python 3.10+
sudo apt-get update
sudo apt-get install -y python3-tk graphviz tshark
pip3 install -r requirements.txt
sudo python3 Source/main.py
Bei Verwendung einer bestimmten Python-Version (3.11, 3.12) ersetze
python3-tkdurchpython3.11-tkoderpython3.12-tk. Installiere Pillow nur über pip – installiere nichtpython3-pilüber apt, da dies zu Konflikten führt.
brew install graphviz
pip3 install -r requirements.txt
sudo python3 Source/main.py
sudoist für die Live-Erfassung erforderlich. Die Dateianalyse funktioniert auch ohne.
.pcap / .pcapng-Datei eingeben oder auswählenauto)sudo / root)PcapXray unterstützt vier austauschbare Parsing-Backends, die über die Symbolleiste ausgewählt werden können:
Alle Abhängigkeiten befinden sich in requirements.txt – Installation mit pip3 install -r requirements.txt.
Tkinter ist die einzige Bibliothek, die nicht auf PyPI verfügbar ist – installiere sie über deinen Systempaketmanager (python3-tk unter Linux, bei macOS in Python enthalten).
Siehe DEV.md für die vollständige Architekturdokumentation, Aufrufablaufdiagramme, Modulverantwortlichkeiten, das Threading-Modell und Anleitungen zum Hinzufügen einer neuen Engine.
Siehe SECURITY.md für verantwortungsvolle Offenlegung, Sicherheitslage und bekannte Einschränkungen.
# Schnelle Suite – keine Netzwerkaufrufe
pytest -m "not network" Test/
# Vollständige Suite inkl. echter DNS + Tor
pytest Test/
# Isolierte Engine-Umgebungen
tox
tox -e all-engines
96+ Tests unter Python 3.10, 3.11, 3.12.
dpkt-Engine.| Engine | Am besten für | Anmerkungen |
|---|
auto | Allgemeine Verwendung | Versucht zuerst dpkt, fällt auf scapy zurück |
dpkt | Große Dateien, wenig Speicher | Schnelles Offline-Parsing |
scapy | Tiefe Protokollinspektion | TLS-fähig, bei großen Dateien langsamer |
pyshark | Maximale Protokollabdeckung | Erfordert installiertes tshark |
| Bibliothek | Zweck |
|---|
| scapy | Paketlesen und Live-Erfassung |
| dpkt | Schnelle PCAP-Parsing-Engine |
| pyshark | tshark-gestützte Parsing-Engine |
| ipwhois | Whois / RDAP-Abfrage |
| netaddr | IP-Adressklassifizierung |
| pillow | Bildverarbeitung für die Graph-Anzeige |
| stem | Abruf von Tor-Consensus-Daten |
| graphviz | Rendern von Netzwerkdiagrammen |
| networkx | Graphenkonstruktion und -layout |
| matplotlib | Eingebettetes interaktives Graph-Panel |
| pyvis | Interaktiver HTML-Netzwerkgraph |
| pydantic | Typisierte Datenmodelle für den Sitzungszustand |
| cryptography | Parsen von TLS-Chiffren |