Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pyshark-legacy — Wrapper Python para tshark, permitindo análise de pacotes em Python usando dissecadores do Wireshark (versão legada Python2) | Kitploit
Ferramentas/GitHubGitHub/kiminewt/pyshark-legacy
Sniffing e Análise de PacotesSegurança de RedeUtilitários e Frameworks
GitHubkiminewt/pyshark-legacy

pyshark-legacy

Wrapper Python para tshark, permitindo análise de pacotes em Python usando dissecadores do Wireshark (versão legada Python2)

Ver Repositório
67há 8 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

pyshark

Este repositório é para a versão legada do pyshark, que funciona no Python2.7+. Ele só recebe correções de bugs após a versão 0.3.8. Para a nova versão que é suportada apenas no Python 3.5+, por favor use o repositório principal

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

Wrapper Python para tshark, permitindo a análise de pacotes Python usando os dissecadores do Wireshark.

Documentação estendida: http://kiminewt.github.io/pyshark

Existem vários módulos de análise de pacotes Python, este é diferente porque na verdade não analisa nenhum pacote, ele simplesmente usa a capacidade do tshark (utilitário de linha de comando do Wireshark) de exportar XMLs para usar sua análise.

Este pacote permite a análise a partir de um arquivo de captura ou uma captura ao vivo, usando todos os dissecadores do Wireshark que você instalou. Testado no Windows/Linux.

Instalação

Todas as plataformas

Simplesmente execute o seguinte para instalar a versão mais recente do pypi

root@kitploit:~
pip install pyshark-legacy

Ou instale a partir do repositório git:

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

Mac OS X

Você pode precisar instalar libxml, o que pode ser inesperado. Se receber um erro do clang ou uma mensagem de erro sobre libxml, execute o seguinte:

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

Você provavelmente terá que aceitar um EULA do XCode, então esteja pronto para clicar em um diálogo "Aceitar" na GUI.

Uso

Lendo de um arquivo de captura:

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

Outras opções

  • param keep_packets: Se deve manter os pacotes após a leitura via next(). Usado para conservar memória ao ler grandes capturas.
  • param input_file: Um caminho ou um objeto semelhante a arquivo contendo um arquivo de captura de pacotes (PCAP, PCAP-NG..) ou um xml do TShark.
  • param display_filter: Um filtro de exibição (Wireshark) para aplicar na captura antes de lê-la.
  • param only_summaries: Produz apenas resumos de pacotes, muito mais rápido mas inclui muito pouca informação
  • param disable_protocol: Desabilitar detecção de um protocolo (tshark > versão 2)
  • param decryption_key: Chave usada para criptografar e descriptografar o tráfego capturado.
  • param encryption_type: Padrão de criptografia usado no tráfego capturado (deve ser 'WEP', 'WPA-PWD' ou 'WPA-PWK'. O padrão é WPA-PWK).
  • param tshark_path: Caminho do binário tshark

Lendo de uma interface ao vivo:

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

Outras opções

  • param interface: Nome da interface para capturar. Se não for informado, usa a primeira disponível.
  • param bpf_filter: Filtro BPF a usar nos pacotes.
  • param display_filter: Filtro de exibição (Wireshark) a usar.
  • param only_summaries: Produz apenas resumos de pacotes, muito mais rápido mas inclui muito pouca informação
  • param disable_protocol: Desabilitar detecção de um protocolo (tshark > versão 2)
  • param decryption_key: Chave usada para criptografar e descriptografar o tráfego capturado.
  • param encryption_type: Padrão de criptografia usado no tráfego capturado (deve ser 'WEP', 'WPA-PWD' ou 'WPA-PWK'. O padrão é WPA-PWK).
  • param tshark_path: Caminho do binário tshark
  • param output_file: Salvar adicionalmente os pacotes capturados neste arquivo.

Lendo de uma interface ao vivo usando um buffer circular

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

Outras opções

  • param ring_file_size: Tamanho do arquivo circular em kB, o padrão é 1024
  • param num_ring_files: Número de arquivos circulares a manter, o padrão é 1
  • param ring_file_name: Nome do arquivo circular, o padrão é /tmp/pyshark.pcap
  • param interface: Nome da interface para capturar. Se não for informado, usa a primeira disponível.
  • param bpf_filter: Filtro BPF a usar nos pacotes.
  • param display_filter: Filtro de exibição (Wireshark) a usar.
  • param only_summaries: Produz apenas resumos de pacotes, muito mais rápido mas inclui muito pouca informação
  • param disable_protocol: Desabilitar detecção de um protocolo (tshark > versão 2)
  • param decryption_key: Chave usada para criptografar e descriptografar o tráfego capturado.
  • param encryption_type: Padrão de criptografia usado no tráfego capturado (deve ser 'WEP', 'WPA-PWD' ou 'WPA-PWK'. O padrão é WPA-PWK).
  • param tshark_path: Caminho do binário tshark
  • param output_file: Salvar adicionalmente os pacotes capturados neste arquivo.

Lendo de uma interface remota ao vivo:

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

Outras opções

  • param remote_host: O host remoto para capturar (IP ou hostname). Deve estar executando rpcapd.
  • param remote_interface: A interface remota na máquina remota para capturar. Note que no Windows não é o nome de exibição do dispositivo, mas o nome verdadeiro da interface (isto é, \Device\NPF_..).
  • param remote_port: A porta remota na qual o serviço rpcapd está ouvindo
  • param bpf_filter: Um filtro BPF (tcpdump) para aplicar na captura antes de ler.
  • param only_summaries: Produz apenas resumos de pacotes, muito mais rápido mas inclui muito pouca informação
  • param disable_protocol: Desabilitar detecção de um protocolo (tshark > versão 2)
  • param decryption_key: Chave usada para criptografar e descriptografar o tráfego capturado.
  • param encryption_type: Padrão de criptografia usado no tráfego capturado (deve ser 'WEP', 'WPA-PWD' ou 'WPA-PWK'. O padrão é WPA-PWK).
  • param tshark_path: Caminho do binário tshark

Acessando dados de pacotes:

Os dados podem ser acessados de várias maneiras. Os pacotes são divididos em camadas, primeiro você precisa alcançar a camada apropriada e depois pode selecionar seu campo.

Todos os seguintes funcionam:

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

Para testar se uma camada está em um pacote, você pode usar seu nome:

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

Para ver todos os nomes de campos possíveis, use o atributo packet.layer.field_names (isto é, packet.ip.field_names) ou a função de autocomplete no seu interpretador.

Você também pode obter os dados binários originais de um campo, ou uma descrição formatada dele:

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'

Descriptografando capturas de pacotes

Pyshark suporta descriptografia automática de rastros usando os padrões WEP, WPA-PWD e WPA-PSK (WPA-PWD é o padrão).

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

Uma tupla de padrões de criptografia suportados, SUPPORTED_ENCRYPTION_STANDARDS, existe em cada classe de captura.

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

Licença

Este projeto está licenciado sob MIT. Contribuições para este projeto são aceitas sob a mesma licença.

Baixar ferramenta