Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pyshark — Python-Wrapper für tshark, der die Paketanalyse in Python mithilfe von Wireshark-Dissectoren ermöglicht. | Kitploit
Tools/GitHubGitHub/kiminewt/pyshark
Paket-Sniffing & AnalyseWi-Fi-PrüfungVerschlüsselungs-/EntschlüsselungstoolsNetzwerkforensikForensikNetzwerksicherheitDrahtlose SicherheitDigitale Forensik
GitHubkiminewt/pyshark

pyshark

Python-Wrapper für tshark, der die Paketanalyse in Python mithilfe von Wireshark-Dissectoren ermöglicht.

Repository anzeigen
2.5k4528vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

pyshark

Python-Wrapper für tshark, der Python-Paketanalyse mit Wireshark-Dissectoren ermöglicht.

Erweiterte Dokumentation: http://kiminewt.github.io/pyshark

Suche Mitwirkende – aus verschiedenen Gründen habe ich derzeit Schwierigkeiten, Zeit für die Wartung und Verbesserung des Pakets zu finden. Alle Pull-Requests werden überprüft, und wenn jemand interessiert und geeignet ist, werde ich ihn gerne in das Projekt einbeziehen. Sie können mich gerne unter dorgreen1 at gmail kontaktieren.

Es gibt einige Python-Paketanalyse-Module, dieses unterscheidet sich dadurch, dass es eigentlich keine Pakete analysiert, sondern lediglich die Fähigkeit von tshark (Wireshark-Befehlszeilentool) nutzt, XMLs zu exportieren, um dessen Analyse zu verwenden.

Dieses Paket ermöglicht das Parsen aus einer Capture-Datei oder einem Live-Capture unter Verwendung aller installierten Wireshark-Dissectoren. Getestet unter Windows/Linux.

Installation

Versionsunterstützung

Python 3.7+ wird unterstützt. Eine nicht unterstützte Python-2-Version existiert als pyshark-legacy.

Unterstützt alle modernen Versionen von tshark / wireshark, aber bestimmte Funktionen können in älteren Versionen nicht verfügbar sein.

Alle Plattformen

Führen Sie einfach den folgenden Befehl aus, um die neueste Version von pypi zu installieren:

root@kitploit:~
pip install pyshark

Oder aus dem Git-Repository installieren:

root@kitploit:~
git clone https://github.com/KimiNewt/pyshark.git
cd pyshark/src
python setup.py install

Mac OS X

Möglicherweise müssen Sie libxml installieren, was unerwartet sein kann. Wenn Sie einen Fehler von clang oder eine Fehlermeldung über libxml erhalten, führen Sie Folgendes aus:

root@kitploit:~
xcode-select --install
pip install libxml

Sie müssen wahrscheinlich eine EULA für XCode akzeptieren, seien Sie also bereit, im GUI auf einen „Akzeptieren“-Dialog zu klicken.

Verwendung

Lesen aus einer Capture-Datei:

root@kitploit:~
>>> import pyshark
>>> cap = pyshark.FileCapture('/tmp/mycapture.cap')
>>> cap
<FileCapture /tmp/mycapture.cap (589 packets)>
>>> print cap[0]
Packet (Length: 698)
Layer ETH:
        Destination: BLANKED
        Source: BLANKED
        Type: IP (0x0800)
Layer IP:
        Version: 4
        Header Length: 20 bytes
        Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        Total Length: 684
        Identification: 0x254f (9551)
        Flags: 0x00
        Fragment offset: 0
        Time to live: 1
        Protocol: UDP (17)
        Header checksum: 0xe148 [correct]
        Source: BLANKED
        Destination: BLANKED
  ...

Weitere Optionen

  • param keep_packets: Gibt an, ob Pakete nach dem Lesen via next() behalten werden sollen. Wird verwendet, um Speicher beim Lesen großer Captures zu sparen.
  • param input_file: Entweder ein Pfad oder ein dateiähnliches Objekt, das entweder eine Paket-Capture-Datei (PCAP, PCAP-NG..) oder ein TShark-XML enthält.
  • param display_filter: Ein Anzeigefilter (Wireshark), der auf das Capture angewendet wird, bevor es gelesen wird.
  • param only_summaries: Nur Paketzusammenfassungen erstellen, viel schneller, enthält aber sehr wenig Informationen.
  • param disable_protocol: Erkennung eines Protokolls deaktivieren (tshark > Version 2).
  • param decryption_key: Schlüssel, der zur Verschlüsselung und Entschlüsselung des erfassten Datenverkehrs verwendet wird.
  • param encryption_type: Verschlüsselungsstandard, der im erfassten Datenverkehr verwendet wird (muss entweder 'WEP', 'WPA-PWD' oder 'WPA-PWK' sein. Standard ist WPA-PWK).
  • param tshark_path: Pfad zur tshark-Binärdatei.

Lesen von einer Live-Schnittstelle:

root@kitploit:~
>>> capture = pyshark.LiveCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print('Just arrived:', packet)

Weitere Optionen

  • param interface: Name der Schnittstelle, die belauscht werden soll. Wenn nicht angegeben, wird die erste verfügbare genommen.
  • param bpf_filter: BPF-Filter, der auf Pakete angewendet werden soll.
  • param display_filter: Anzeigefilter (Wireshark) zum Anwenden.
  • param only_summaries: Nur Paketzusammenfassungen erstellen, viel schneller, enthält aber sehr wenig Informationen.
  • param disable_protocol: Erkennung eines Protokolls deaktivieren (tshark > Version 2).
  • param decryption_key: Schlüssel, der zur Verschlüsselung und Entschlüsselung des erfassten Datenverkehrs verwendet wird.
  • param encryption_type: Verschlüsselungsstandard, der im erfassten Datenverkehr verwendet wird (muss entweder 'WEP', 'WPA-PWD' oder 'WPA-PWK' sein. Standard ist WPA-PWK).
  • param tshark_path: Pfad zur tshark-Binärdatei.
  • param output_file: Zusätzlich erfasste Pakete in dieser Datei speichern.

Lesen von einer Live-Schnittstelle mit einem Ringpuffer

root@kitploit:~
>>> capture = pyshark.LiveRingCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print('Just arrived:', packet)

Weitere Optionen

  • param ring_file_size: Größe der Ringdatei in kB, Standard ist 1024.
  • param num_ring_files: Anzahl der zu behaltenden Ringdateien, Standard ist 1.
  • param ring_file_name: Name der Ringdatei, Standard ist /tmp/pyshark.pcap.
  • param interface: Name der Schnittstelle, die belauscht werden soll. Wenn nicht angegeben, wird die erste verfügbare genommen.
  • param bpf_filter: BPF-Filter, der auf Pakete angewendet werden soll.
  • param display_filter: Anzeigefilter (Wireshark) zum Anwenden.
  • param only_summaries: Nur Paketzusammenfassungen erstellen, viel schneller, enthält aber sehr wenig Informationen.
  • param disable_protocol: Erkennung eines Protokolls deaktivieren (tshark > Version 2).
  • param decryption_key: Schlüssel, der zur Verschlüsselung und Entschlüsselung des erfassten Datenverkehrs verwendet wird.
  • param encryption_type: Verschlüsselungsstandard, der im erfassten Datenverkehr verwendet wird (muss entweder 'WEP', 'WPA-PWD' oder 'WPA-PWK' sein. Standard ist WPA-PWK).
  • param tshark_path: Pfad zur tshark-Binärdatei.
  • param output_file: Zusätzlich erfasste Pakete in dieser Datei speichern.

Lesen von einer Live-Remote-Schnittstelle:

root@kitploit:~
>>> capture = pyshark.RemoteCapture('192.168.1.101', 'eth0')
>>> capture.sniff(timeout=50)
>>> capture

Weitere Optionen

  • param remote_host: Der entfernte Host, auf dem erfasst werden soll (IP oder Hostname). Sollte rpcapd ausführen.
  • param remote_interface: Die entfernte Schnittstelle auf dem entfernten Rechner, die erfasst werden soll. Beachten Sie, dass es unter Windows nicht der Geräte-Anzeigename ist, sondern der tatsächliche Schnittstellenname (z.B. \Device\NPF_..).
  • param remote_port: Der entfernte Port, auf dem der rpcapd-Dienst lauscht.
  • param bpf_filter: Ein BPF (tcpdump)-Filter, der vor dem Lesen auf das Capture angewendet wird.
  • param only_summaries: Nur Paketzusammenfassungen erstellen, viel schneller, enthält aber sehr wenig Informationen.
  • param disable_protocol: Erkennung eines Protokolls deaktivieren (tshark > Version 2).
  • param decryption_key: Schlüssel, der zur Verschlüsselung und Entschlüsselung des erfassten Datenverkehrs verwendet wird.
  • param encryption_type: Verschlüsselungsstandard, der im erfassten Datenverkehr verwendet wird (muss entweder 'WEP', 'WPA-PWD' oder 'WPA-PWK' sein. Standard ist WPA-PWK).
  • param tshark_path: Pfad zur tshark-Binärdatei.

Zugreifen auf Paketdaten:

Auf Daten kann auf verschiedene Weise zugegriffen werden. Pakete sind in Schichten unterteilt; zuerst müssen Sie die entsprechende Schicht erreichen und dann können Sie Ihr Feld auswählen.

Alle folgenden funktionieren:

root@kitploit:~
>>> packet['ip'].dst
192.168.0.1
>>> packet.ip.src
192.168.0.100
>>> packet[2].src
192.168.0.100

Um zu testen, ob eine Schicht in einem Paket vorhanden ist, können Sie ihren Namen verwenden:

root@kitploit:~
>>> 'IP' in packet
True

Um alle möglichen Feldnamen zu sehen, verwenden Sie das Attribut packet.layer.field_names (z.B. packet.ip.field_names) oder die Autocomplete-Funktion Ihres Interpreters.

Sie können auch die ursprünglichen Binärdaten eines Feldes oder eine schöne Beschreibung davon erhalten:

root@kitploit:~
>>> p.ip.addr.showname
Source or Destination Address: 10.0.0.10 (10.0.0.10)
# And some new attributes as well:
>>> p.ip.addr.int_value
167772170
>>> p.ip.addr.binary_value
b'\n\x00\x00\n'

Entschlüsseln von Paket-Captures

Pyshark unterstützt die automatische Entschlüsselung von Spuren mit den Standards WEP, WPA-PWD und WPA-PSK (WPA-PWD ist die Voreinstellung).

root@kitploit:~
>>> cap1 = pyshark.FileCapture('/tmp/capture1.cap', decryption_key='password')
>>> cap2 = pyshark.LiveCapture(interface='wi0', decryption_key='password', encryption_type='wpa-psk')

Ein Tupel der unterstützten Verschlüsselungsstandards, SUPPORTED_ENCRYPTION_STANDARDS, existiert in jeder Capture-Klasse.

root@kitploit:~
>>> pyshark.FileCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')
>>> pyshark.LiveCapture.SUPPORTED_ENCRYPTION_STANDARDS
('wep', 'wpa-pwd', 'wpa-psk')

Lesen aus einer Datei mit einem Anzeigefilter

Pyshark-Anzeigefilter können bei der Analyse von anwendungsorientiertem Datenverkehr hilfreich sein. BPF-Filter bieten nicht so viel Flexibilität wie die Anzeigefilter von Wireshark.

root@kitploit:~
>>> cap1 = pyshark.FileCapture('/tmp/capture1.cap', display_filter="dns")
>>> cap2 = pyshark.LiveCapture(interface='en0', display_filter="tcp.analysis.retransmission")

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Beiträge zu diesem Projekt werden unter derselben Lizenz akzeptiert.

Tool herunterladen