Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pyshark-legacy — Wrapper Python pour tshark, permettant l'analyse de paquets Python en utilisant les dissecteurs Wireshark (version héritée Python2) | Kitploit
Outils/GitHubGitHub/kiminewt/pyshark-legacy
Sniffing et Analyse de PaquetsSécurité RéseauUtilitaires et Frameworks
GitHubkiminewt/pyshark-legacy

pyshark-legacy

Wrapper Python pour tshark, permettant l'analyse de paquets Python en utilisant les dissecteurs Wireshark (version héritée Python2)

Voir le dépôt
673il y a 8 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

pyshark

Ce dépôt concerne la version héritée de pyshark, qui fonctionne sur Python 2.7+. Il ne reçoit que des corrections de bugs après la version 0.3.8. Pour la nouvelle version qui n'est supportée que sur Python 3.5+, veuillez utiliser le dépôt principal

Join the chat at https://gitter.im/pyshark_gitter/Lobby Build Status

Wrapper Python pour tshark, permettant l'analyse de paquets Python en utilisant les dissecteurs de Wireshark.

Documentation complète : http://kiminewt.github.io/pyshark

Il existe plusieurs modules d'analyse de paquets Python, celui-ci est différent car il n'analyse pas réellement les paquets, il utilise simplement la capacité de tshark (utilitaire en ligne de commande de Wireshark) à exporter des XML pour effectuer l'analyse.

Ce paquet permet l'analyse à partir d'un fichier de capture ou d'une capture en direct, en utilisant tous les dissecteurs Wireshark que vous avez installés. Testé sur Windows/Linux.

Installation

Toutes les plateformes

Exécutez simplement la commande suivante pour installer la dernière version depuis pypi

root@kitploit:~
pip install pyshark-legacy

Ou installez depuis le dépôt git :

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

Mac OS X

Vous devrez peut-être installer libxml, ce qui peut être inattendu. Si vous recevez une erreur de clang ou un message d'erreur concernant libxml, exécutez les commandes suivantes :

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

Vous devrez probablement accepter un CLUF pour XCode, soyez donc prêt à cliquer sur une boîte de dialogue "Accepter" dans l'interface graphique.

Utilisation

Lecture à partir d'un fichier de capture :

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
  ...

Autres options

  • param keep_packets : Indique s'il faut conserver les paquets après les avoir lus via next(). Utilisé pour économiser la mémoire lors de la lecture de grandes captures.
  • param input_file : Un chemin ou un objet de type fichier contenant soit un fichier de capture de paquets (PCAP, PCAP-NG..) soit un XML TShark.
  • param display_filter : Un filtre d'affichage (wireshark) à appliquer sur la capture avant de la lire.
  • param only_summaries : Produire uniquement des résumés de paquets, beaucoup plus rapide mais contient très peu d'informations.
  • param disable_protocol : Désactiver la détection d'un protocole (tshark > version 2).
  • param decryption_key : Clé utilisée pour chiffrer et déchiffrer le trafic capturé.
  • param encryption_type : Standard de chiffrement utilisé dans le trafic capturé (doit être 'WEP', 'WPA-PWD' ou 'WPA-PWK'. Par défaut WPA-PWK).
  • param tshark_path : Chemin du binaire tshark.

Lecture à partir d'une interface en direct :

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

Autres options

  • param interface : Nom de l'interface à écouter. Si non précisé, prend la première disponible.
  • param bpf_filter : Filtre BPF à utiliser sur les paquets.
  • param display_filter : Filtre d'affichage (wireshark) à utiliser.
  • param only_summaries : Produire uniquement des résumés de paquets, beaucoup plus rapide mais contient très peu d'informations.
  • param disable_protocol : Désactiver la détection d'un protocole (tshark > version 2).
  • param decryption_key : Clé utilisée pour chiffrer et déchiffrer le trafic capturé.
  • param encryption_type : Standard de chiffrement utilisé dans le trafic capturé (doit être 'WEP', 'WPA-PWD' ou 'WPA-PWK'. Par défaut WPA-PWK).
  • param tshark_path : Chemin du binaire tshark.
  • param output_file : Sauvegarder également les paquets capturés dans ce fichier.

Lecture à partir d'une interface en direct en utilisant un tampon circulaire (ring buffer)

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

Autres options

  • param ring_file_size : Taille du fichier du tampon circulaire en ko, par défaut 1024.
  • param num_ring_files : Nombre de fichiers du tampon circulaire à conserver, par défaut 1.
  • param ring_file_name : Nom du fichier du tampon circulaire, par défaut /tmp/pyshark.pcap.
  • param interface : Nom de l'interface à écouter. Si non précisé, prend la première disponible.
  • param bpf_filter : Filtre BPF à utiliser sur les paquets.
  • param display_filter : Filtre d'affichage (wireshark) à utiliser.
  • param only_summaries : Produire uniquement des résumés de paquets, beaucoup plus rapide mais contient très peu d'informations.
  • param disable_protocol : Désactiver la détection d'un protocole (tshark > version 2).
  • param decryption_key : Clé utilisée pour chiffrer et déchiffrer le trafic capturé.
  • param encryption_type : Standard de chiffrement utilisé dans le trafic capturé (doit être 'WEP', 'WPA-PWD' ou 'WPA-PWK'. Par défaut WPA-PWK).
  • param tshark_path : Chemin du binaire tshark.
  • param output_file : Sauvegarder également les paquets capturés dans ce fichier.

Lecture à partir d'une interface distante en direct :

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

Autres options

  • param remote_host : L'hôte distant sur lequel capturer (IP ou nom d'hôte). Doit exécuter rpcapd.
  • param remote_interface : L'interface distante sur la machine distante à capturer. Notez que sous Windows, ce n'est pas le nom d'affichage du périphérique mais le vrai nom de l'interface (ex. \Device\NPF_..).
  • param remote_port : Le port distant sur lequel le service rpcapd écoute.
  • param bpf_filter : Un filtre BPF (tcpdump) à appliquer sur la capture avant lecture.
  • param only_summaries : Produire uniquement des résumés de paquets, beaucoup plus rapide mais contient très peu d'informations.
  • param disable_protocol : Désactiver la détection d'un protocole (tshark > version 2).
  • param decryption_key : Clé utilisée pour chiffrer et déchiffrer le trafic capturé.
  • param encryption_type : Standard de chiffrement utilisé dans le trafic capturé (doit être 'WEP', 'WPA-PWD' ou 'WPA-PWK'. Par défaut WPA-PWK).
  • param tshark_path : Chemin du binaire tshark.

Accès aux données des paquets :

Les données peuvent être consultées de plusieurs façons. Les paquets sont divisés en couches ; vous devez d'abord accéder à la couche appropriée, puis sélectionner votre champ.

Tous les exemples suivants fonctionnent :

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

Pour vérifier si une couche est présente dans un paquet, vous pouvez utiliser son nom :

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

Pour voir tous les noms de champs possibles, utilisez l'attribut packet.layer.field_names (par exemple packet.ip.field_names) ou la fonction d'autocomplétion de votre interpréteur.

Vous pouvez également obtenir les données binaires originales d'un champ, ou une description lisible de celui-ci :

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
'\n\x00\x00\n'

Déchiffrement des captures de paquets

Pyshark prend en charge le déchiffrement automatique des traces à l'aide des normes WEP, WPA-PWD et WPA-PSK (WPA-PWD est la valeur par défaut).

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

Un tuple des normes de chiffrement prises en charge, SUPPORTED_ENCRYPTION_STANDARDS, existe dans chaque classe de capture.

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

Licence

Ce projet est sous licence MIT. Les contributions à ce projet sont acceptées sous la même licence.

Télécharger l’outil