Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pyshark — Python wrapper per tshark, che consente il parsing di pacchetti in Python utilizzando i dissectors di Wireshark. | Kitploit
Strumenti/GitHubGitHub/kiminewt/pyshark
Sniffing e Analisi dei PacchettiAuditing Wi-FiStrumenti di Crittografia/DecrittografiaNetwork ForensicsInformatica ForenseSicurezza di ReteSicurezza WirelessDigital Forensics
GitHubkiminewt/pyshark

pyshark

Python wrapper per tshark, che consente il parsing di pacchetti in Python utilizzando i dissectors di Wireshark.

2.5k452226 mesi faRevisionato da Kitploit
Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

pyshark

Wrapper Python per tshark, che permette il parsing di pacchetti Python utilizzando i dissector di Wireshark.

Documentazione estesa: http://kiminewt.github.io/pyshark

Cerchiamo contributori - per vari motivi, al momento faccio fatica a trovare tempo per mantenere e migliorare il pacchetto. Tutte le pull request saranno esaminate e, se qualcuno è interessato e adatto, sarò felice di includerlo nel progetto. Sentiti libero di scrivermi a dorgreen1 at gmail.

Esistono diversi moduli Python per il parsing di pacchetti, ma questo è diverso perché non analizza effettivamente alcun pacchetto: si limita a utilizzare la capacità di tshark (utility da riga di comando di Wireshark) di esportare XML per sfruttare il suo parsing.

Questo pacchetto consente il parsing da un file di cattura o da una cattura live, utilizzando tutti i dissector di Wireshark che hai installato. Testato su Windows/Linux.

Installazione

Supporto versioni

Python 3.7+ è supportato. Esiste una versione Python 2 non supportata come pyshark-legacy.

Supporta tutte le versioni moderne di tshark / wireshark, ma alcune funzionalità potrebbero non essere disponibili su versioni precedenti.

Tutte le piattaforme

Esegui semplicemente il seguente comando per installare l'ultima versione da pypi

pip install pyshark

Oppure installa dal repository git:

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

Mac OS X

Potrebbe essere necessario installare libxml, cosa che può essere inaspettata. Se ricevi un errore da clang o un messaggio di errore relativo a libxml, esegui quanto segue:

xcode-select --install
pip install libxml

Probabilmente dovrai accettare un EULA per XCode, quindi preparati a fare clic su una finestra di dialogo "Accetta" nell'interfaccia grafica.

Utilizzo

Lettura da un file di cattura:

>>> import pyshark
>>> cap = pyshark.FileCapture('/tmp/mycapture.cap')
>>> cap
<FileCapture /tmp/mycapture.cap (589 pacchetti)>
>>> print cap[0]
Packet (Length: 698)
Layer ETH:
        Destination: OSCURATO
        Source: OSCURATO
        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 [corretto]
        Source: OSCURATO
        Destination: OSCURATO
  ...

Altre opzioni

  • param keep_packets: Se mantenere i pacchetti dopo averli letti tramite next(). Utile per risparmiare memoria durante la lettura di grandi file di cattura.
  • param input_file: Un percorso o un oggetto simile a file contenente un file di cattura di pacchetti (PCAP, PCAP-NG..) o un xml di TShark.
  • param display_filter: Un filtro di visualizzazione (wireshark) da applicare alla cattura prima di leggerla.
  • param only_summaries: Produce solo sommari dei pacchetti, molto più veloce ma include pochissime informazioni.
  • param disable_protocol: Disabilita il rilevamento di un protocollo (tshark > versione 2)
  • param decryption_key: Chiave utilizzata per crittografare e decrittografare il traffico catturato.
  • param encryption_type: Standard di crittografia utilizzato nel traffico catturato (deve essere 'WEP', 'WPA-PWD' o 'WPA-PWK'. Il valore predefinito è WPA-PWK.
  • param tshark_path: Percorso del binario tshark

Lettura da un'interfaccia live:

>>> capture = pyshark.LiveCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 pacchetti)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print('Appena arrivato:', packet)

Altre opzioni

  • param interface: Nome dell'interfaccia su cui sniffare. Se non specificato, prende la prima disponibile.
  • param bpf_filter: Filtro BPF da utilizzare sui pacchetti.
  • param display_filter: Filtro di visualizzazione (wireshark) da utilizzare.
  • param only_summaries: Produce solo sommari dei pacchetti, molto più veloce ma include pochissime informazioni.
  • param disable_protocol: Disabilita il rilevamento di un protocollo (tshark > versione 2)
  • param decryption_key: Chiave utilizzata per crittografare e decrittografare il traffico catturato.
  • param encryption_type: Standard di crittografia utilizzato nel traffico catturato (deve essere 'WEP', 'WPA-PWD' o 'WPA-PWK'. Il valore predefinito è WPA-PWK).
  • param tshark_path: Percorso del binario tshark
  • param output_file: Salva inoltre i pacchetti catturati in questo file.

Lettura da un'interfaccia live tramite ring buffer

>>> capture = pyshark.LiveRingCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 pacchetti)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print('Appena arrivato:', packet)

Altre opzioni

  • param ring_file_size: Dimensione del file ring in kB, il valore predefinito è 1024
  • param num_ring_files: Numero di file ring da conservare, il valore predefinito è 1
  • param ring_file_name: Nome del file ring, il valore predefinito è /tmp/pyshark.pcap
  • param interface: Nome dell'interfaccia su cui sniffare. Se non specificato, prende la prima disponibile.
  • param bpf_filter: Filtro BPF da utilizzare sui pacchetti.
  • param display_filter: Filtro di visualizzazione (wireshark) da utilizzare.
  • param only_summaries: Produce solo sommari dei pacchetti, molto più veloce ma include pochissime informazioni.
  • param disable_protocol: Disabilita il rilevamento di un protocollo (tshark > versione 2)
  • param decryption_key: Chiave utilizzata per crittografare e decrittografare il traffico catturato.
  • param encryption_type: Standard di crittografia utilizzato nel traffico catturato (deve essere 'WEP', 'WPA-PWD' o 'WPA-PWK'. Il valore predefinito è WPA-PWK).
  • param tshark_path: Percorso del binario tshark
  • param output_file: Salva inoltre i pacchetti catturati in questo file.

Lettura da un'interfaccia remota live:

>>> capture = pyshark.RemoteCapture('192.168.1.101', 'eth0')
>>> capture.sniff(timeout=50)
>>> capture

Altre opzioni

  • param remote_host: Host remoto su cui catturare (IP o nome host). Dovrebbe eseguire rpcapd.
  • param remote_interface: Interfaccia remota sulla macchina remota su cui catturare. Nota che su Windows non è il nome visualizzato del dispositivo ma il vero nome dell'interfaccia (cioè \Device\NPF_..).
  • param remote_port: Porta remota su cui il servizio rpcapd è in ascolto
  • param bpf_filter: Un filtro BPF (tcpdump) da applicare alla cattura prima di leggerla.
  • param only_summaries: Produce solo sommari dei pacchetti, molto più veloce ma include pochissime informazioni.
  • param disable_protocol: Disabilita il rilevamento di un protocollo (tshark > versione 2)
  • param decryption_key: Chiave utilizzata per crittografare e decrittografare il traffico catturato.
  • param encryption_type: Standard di crittografia utilizzato nel traffico catturato (deve essere 'WEP', 'WPA-PWD' o 'WPA-PWK'. Il valore predefinito è WPA-PWK).
  • param tshark_path: Percorso del binario tshark

Accesso ai dati dei pacchetti:

I dati possono essere accessibili in più modi. I pacchetti sono divisi in layer; prima devi raggiungere il layer appropriato e poi puoi selezionare il tuo campo.

Tutti i seguenti funzionano:

>>> packet['ip'].dst
192.168.0.1
>>> packet.ip.src
192.168.0.100
>>> packet[2].src
192.168.0.100

Per verificare se un layer è presente in un pacchetto, puoi usare il suo nome:

>>> 'IP' in packet
True
Scarica lo strumento